Coda File System

Re: Coda lossage

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Fri, 6 Aug 2004 14:34:26 -0400
On Tue, Aug 03, 2004 at 08:34:57PM -0500, Troy Benjegerdes wrote:
> On Fri, Jul 30, 2004 at 12:52:00PM -0400, Jan Harkes wrote:
> > On Sun, Jul 25, 2004 at 02:14:54PM -0400, shivers_at_cc.gatech.edu wrote:
> > >    From: Ivan Popov <pin_at_medic.chalmers.se>
> > > 
> > >    (yet I do not seem to find how big your client caches were)
> > > 
> > > Pretty big, varying from 100Mb to 10Gb.
> > 
> > I use a 200MB cache which works pretty well. It translates to about 8000
> > locally cached objects.
> > 
> > But without tweaks, a 10GB Coda client will try to cache up to 420000
> > files. This in itself shouldn't be a problem except for the fact that
> > there are a couple of places where every object is compared to every
> > other object. So with 8K objects there are about 64 million
> > comparisons, while with 420K objects there are more than 176 billion.
> 
> I think it would do everyone a lot of good to separate the cache size
> limit from the number of files limit. I'd like to have 8000 files, but
> 20GB of cache. (for MP3 files, for instance). How do I do this?

It is separate(able). If the number of cachefiles is not specified in
/etc/coda/venus.conf, we calculate it based on the configured number of
blocks / 24. But you can also set an explicit value by changing
'cachefiles=0' to some non-zero value.

This is similar to how mkfs and friends work, if you simply give a
partition it will allocate a predefined number of inodes and superblocks
based on the size of the partition. But it is possible to override those
values for special cases.

> Coda has kernel modules for a bunch of different OS'es, and the only
> complaint about the module I've heard from linux developers is that it
> seems unmaintained, but that's only because it doesn't need to change
> very much.

Partly because it doesn't need to change all that often, but probably
more importantly partly because it is a real pain to support different
interfaces on various platforms as well as a problem to push any major
change through to all kernels. Even now linux-2.4 doesn't support realms
with the default kernel module, while some fixes for the old pre-realms
interface in were dropped for 2.6.
(note to self: should resend kernel patches at some point...)

Jan
Received on 2004-08-06 14:36:36