Coda File System

Re: FAQ: Is Coda ready for use?

From: Stephen J. Turnbull <>
Date: Wed, 03 Dec 2003 09:58:09 +0900
>>>>> "Joerg" == Joerg Sommer <> writes:

    >> RVM (where the directory structure is kept) can be disabled
    >> when initializing the client, but this means you need to keep
    >> all information in memory, and of course it's not persistent.
    >> Increases

    Joerg> Is a memory cache possible? Today one GB RAM is almost
    Joerg> normal and there 300MB for a cache are possible.

>From /etc/coda/venus.conf:

# Dont use RVM,
# Avoid using persistent storage for metadata. Only useful on diskless
# clients or small handhelds when the venus.cache is stored in a ramdisk
# or ram filesystem. Beware, if you enable this option, venus will loose
# all not reintegrated modifications when it dies.

That looks like what you want, and the comment suggests two ways of
putting the cache in memory, too.

I'm at the edge of my knowledge; I think if you want more information
you need to get Jan in the conversation.  He'll probably want to know
why you want to avoid the disk cache.  (After all, if you can afford
1GB RAM, the cost of 1GB disk is negligible, so presumably there's
something about the semantics of disk access you want to avoid.)  Of
course, if you just want diskless clients, that's exactly what the
comment in venus.conf says this feature is for.

    Joerg> Why? Is there a reason, why the venus daemon can't be in
    Joerg> the kernel? i.e, NFS or SMB doesn't needs a userspace
    Joerg> daemon.

NFS and SMB are extremely simple compared to Coda.  Admittedly, from
what I gather from your comments, venus is to your needs as Microsoft
Word is to writing a grocery list.  It's precisely features like
persistence of RVM and the management of the file cache, management of
data structures that allow disconnected operation, etc that make Coda
so complicated.  This is all done by the client, and must be done by
the client because of disconnected operation.

Venus processes can be pretty big by kernel standards: mine is
currently 20MB.  I suppose that doesn't bother you (now that I think
of it, it doesn't bother me either in principle; if it's worth doing
24x7, then it's worth considering putting it in kernel).

However, writing something for use both as a kernel module and as a
userspace daemon, across multiple platforms, well ....  :-)  And venus
does crash occasionally; as a user process you just restart, but in
the kernel that's disastrous.


Institute of Policy and Planning Sciences
University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
               Ask not how you can "do" free software business;
              ask what your business can "do for" free software.
Received on 2003-12-02 20:07:56