Coda File System

Re: Plan to revise documentation

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 27 Apr 2005 14:46:06 -0400
On Wed, Apr 27, 2005 at 08:26:15AM -0600, Patrick Walsh wrote:
> 	One thing that I'd also like to see -- maybe its place is on the wiki
> -- is a list of Coda's constraints.  How many files in a directory can
> coda handle, what are the limitations when working with big files, etc.

Some of these I know, but there are probably many I don't even know.

    volume names:	32 characters
    file names:		256 characters
    path names:		1024 characters
    ACLs per directory: 20
	- Don't know why I always thought it was 6

    directory size:	256KB
	- this doesn't easily translate to # of files, because it
	  depends on the average filename size, padding, space for the
	  file identifiers, etc.
	  a ballpark figure would be between 2048 and 4096 files.

    volumes/server:	1024
    replicas/volume:	8
    users and groups:	unknown, I tried several thousand
    users/group:	unknown, at least several thousand as well
      - Here is a CVS commit message related to that,
	2003/06/17 20:39:23     <jaharkes_at_cs.cmu.edu>
	Caching the rwcdb handle across accesses. Time to import 5000 users
        and a group containing all users went (on my laptop) from 21+ minutes
        to 11.621 seconds. The 100,000 user test is taking a lot longer to
        import but checking group membership as the import is still going

    directories/volume:	Depends on the size of the volume resolution log
      - We use one 'ResolveNull' entry for each directory.

    resolution log:	Administrative limit
      - By default a volume has 4096 entries, but this can be increased
	with 'volutil setlogparms <volid> reson 4 logsize <n>'.

    files/volume:	Unknown
      - not as simple as (files/directory * directories/volume) because
	at some point we have trouble finding enough unfragmented RVM
	memory to allocate the flat lookup table. I think RVM allocation
	issues hit around 200,000 files/volume, but I could be wrong.

    servers/realm:	253
      - We need unique server-id's in the range [0:255]. But 0, 127, and
	255 are 'reserved' to indicate 'no volume, replicated volume,
	and error'.

    rvm data/server:	anywhere between 1GB and 3GB
      - depends on where the OS loads it's shared libraries and such.

    ... probably many more

Jan
Received on 2005-04-27 14:48:02