Coda File System

Re: Files Bigger Than Cache Size

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Sat, 2 Feb 2008 02:40:17 -0500
On Sat, Feb 02, 2008 at 01:51:28AM -0500, Jan Harkes wrote:
> On Fri, Feb 01, 2008 at 01:29:18PM +0000, coda_at_bobich.net wrote:
> > Is there a particular reason why 256K directory size is used? What code  
> > changes would be required to increase this to, for example, 64M?
...
> Technically it should be possible to double the basic page size, this
> would double the limit, even quadruple if we also double the size of the
> pointer page. However this breaks the way servers store directory data,
...
> And really that is just too much trouble for a change that doesn't
> really fix anything. So now we have a 1MB directory size limit which
> would be around 16000 maildir messages, enough to store one month of
> linux-kernel mail, but not anymore.

Oh, and another thing, once we start shipping multi-MB directory
contents, it may be beneficial to include things like attribute data for
all or recently modified children of the directory. Because once we get
the directory contents, in many cases we would stat(2) all the children,
which could result in an individual GetAttr rpc call for each file or
subdirectory if they are not cached.

So although I may be able to fetch that 1MB file in a second or two over
my cable modem connection, it takes about 12ms for each rpc as that is
the ping roundtrip I'm currently seeing to the servers. So it would take
over 3 minutes to get the attributes for those 16000 files.

So there may very well be more that can be done than just sending larger
directories around.

Jan
Received on 2008-02-02 02:42:08