Coda File System

Re: inode methods

From: Peter J. Braam <braam_at_cs.cmu.edu>
Date: Tue, 10 Feb 1998 22:44:33 -0500 (EST)
> 
> Now, in the Coda code, it's perfectly reasonable to have a generic,
> OS-independent abstraction layer.  I'd suggest something that's general
> enough that a Solaris-specific function would be able to derive the
> device number of the partition, and hence be able to call iopen, or
> under Linux, the OS-specific function should be able to derive the
> partition mount point, so it can make the appropriate open() call.
> 

Coda does indeed have this.  The file /vice/db/vicetab (to become
/etc/vice/vicetab) gives partitions and these have a TYPE.  The
coda-src/partition directory implements currently two types of partitions
(simple and ftree), both of which are 100% portable (even to Windoze).

Simple references file "4711" as /vicepa/4711, and doesn't scale well when
/vicepa has many files.  ftree references a file 4711 as /vicepa/4/7/1/1
(well more or less and in hex of course -- see the source) and has much
faster lookups. 

Adding a high performance Linux specific partition type here, which has
kernel support for less overhead in terms of lookups is what we are
talking about.  We are in no way going to damage the portability or the
abstractions that exist in Coda, nor its chances to run well on Solaris. 
Linux will just be the winner in terms of speed (which it would be
anyway, even without a special type supporting it).

                    - peter -


> 						- Ted
> 
Received on 1998-02-10 22:47:10