Coda File System

Re: client's LOG & DATA

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 2 May 2007 18:32:06 -0400
On Wed, May 02, 2007 at 09:29:25AM -0400, shivers_at_ccs.neu.edu wrote:
> When & how do these things get created? /usr/sbin/venus-setup doesn't do it.
> Does venus do it when it comes up if they don't exist?

Yes, the client pre-allocates space for all file system objects, volume
information, hoard entries and reintegration log records. I think this
is most likely done to avoid fragmentation in the recoverable memory
area which stays around across venus restarts. I think only directory
data is dynamically allocated, but those allocations are for fixed 2KB
chunks.

The server only pre-allocates volume structures, everything else, file
objects, directory data and resolution logs are dynamically allocated in
RVM. The server periodically dumps used and free RVM memory to its log
and there are tools to serialize/dump all the server metadata and
restore it to a larger RVM data area when needed (with norton-reinit).

The client will set up a new RVM log and data when there isn't any, when
venus is started with the -init flag, or when there is a file named INIT
in the venus.cache directory, which is typically at /usr/coda/venus.cache
or /var/lib/coda/cache.

Jan
Received on 2007-05-02 18:33:17