The Coda Distributed Filesystem for Linux
Hoarding Files for Disconnected Operation

Bill von Hagen
Monday, October 7, 2002 11:12:44 AM
The Coda distributed filesystem is designed for use regardless of
whether or not you're connected to a network. As mentioned earlier,
this seems somewhat paradoxical--how can you connect to a
network-oriented filesystem when you're not connected to a network?
To solve this problem, Coda enables you to make sure that your Coda
client has cached copies of any files that are stored in Coda but
which you need to access when you're not connected to the
network. This is known as "hoarding" and is done using Coda's hoard
command. The files that you want to hoard must be listed in a text
file, known as a "hoard file", that you supply as an argument to the
hoard command using its "-f" option. A sample section of a hoard file
is the following:
a /coda/home/wvh/gcc/src/gcc-3.1-docs 600:d+
a /coda/home/wvh/gcc/chapter6.txt 600
Each line contains three sections: the command that the hoard command
should execute (in this example, 'a', meaning to add the file to the
client's hoard), the name of a file or directory that you want to add
to the hoard, and a priority and associated attributes for that
file. In this example, 600 is a standard priority for hoarding files
(the priority determines which files must be hoarded if the number of
requested files exceed the cache size), and the "d+" attribute means
to cache this directory and any of its subdirectories.
If you're not sure which files you're actually using, you can use Coda
"spy" command to monitor the traffic between your client and a
specific server and write a list of these files to standard output, as
in the following example:
spy -h distfs.vonhagen.org > hoardfile &
After terminating the spy process and editing its output file to use
the correct syntax for the hoard command, you can then use this file
to hoard whatever you're working on before disconnecting from the
network, as in the following example:
hoard -f hoardfile
Executing this command will display information about each file and/or
directory that is being cached on your client.
Next: Disconnecting From and Reconnecting To The Network »