Coda File System

Questions regarding Kernel-Venus interactions

From: Paul Patrick Carpio Prantilla <impact24_at_ilagsnet.ath.cx>
Date: 09 Sep 2003 12:39:55 +0800
Hello and good day,

	I'm a graduate student in the University of the Philippines, and I'm
interested in using coda to test different caching methods in a wireless
environment. To make this simpler, I was thinking of using coda's hoard
command to dynamically adjust the priorities of the files in the
internal hoard database according to changes in a turbulent wireless
environment. I plan to write a daemon that takes note of the files a
coda client requests from a coda mount. This daemon will dynamically
compute the file's priority and add/modify it in the hdb based on the
following attributes:

-strength of the client's connection to the server it resides in, 
-the size of the file
-mime type of file
-previous access frequency of the file.

	I'm currently stuck in outputting the names of the files requested by
the client to my daemon. Please correct me if I'm wrong, but according
to what I read in the kernel-venus interaction documents, I assume that
I have to write my code in the upcalls that make use of inputArgs
structures like cfs_open, cfs_link and maybe cfs_readdir. 

	I initially thought that i could somehow obtain the filename using the
Vicefid structure that is used in those inputArgs structures. In any
case however the documentation I downloaded seems outdated because it
seems Vicefid isn't used in inputArgs structures anymore but rather
CodaFid is. Also, there are new structures that weren't part of the
documentation.

	My question is, how do I find out the full names (including paths) of
the files that are requested by the client in processes (like copying,
reading, etc) that may require caching? I need this so I could use the
hoard command to manipulate their proriies. I know this seems
inefficient, but it's the easiest way to test my caching weights. I
would really appreciate any given help, and I hope that this won't be
too much of a bother.

	I'm thinking that if 'struct CodaFid Fid' represents the file
descriptor, I could fstat() the value and work my way from there.

Thank you and Good day.

-Paul Patrick Carpio Prantilla
Received on 2003-09-09 00:41:54