Coda File System

Re: metadata, logs and files

From: Peter J. Braam <braam_at_cs.cmu.edu>
Date: Tue, 10 Feb 1998 15:35:25 -0500 (EST)
On 10 Feb 1998, Love wrote:

> "Peter J. Braam" <braam_at_cs.cmu.edu> writes:
> 
> > The regular files are stored in a "partition" or directory declared in
> > /vice/db/vicetab in a tree structure, and referenced by a number.
> > Ideally we would reference file directly by inode number. In particular
> > the structure of the files stored on the server does not share the same
> > naming and directory image as it does on the clients -- the naming and
> > directory contents is in RVM.  Typically the files are stored under
> > /vicepa. 
> 
> When you say "referenced by a number", are you meaning the the
> number that is the equivalent to the Fid in AFS ? In that case
> replicas of volues to other servers will get kind of hard too
> get working.
> 
> To get this straigth, are you storing the fild ViceFid { 1 , 2, 3 }
> in /vicepa/1/2 ? In that case where to you store stuff like acl:s ?
> 

You are confused about Coda vnodes (inodes) versus the file data:  A Coda
vnode (Linux uses the term inode) has the Fid in it, owner, mtime, version
vector (for rep servers etc etc).  A traditional Unix vnode/inode has
lists of blocks for the file data in it.  Coda stores only a reference to
a partition and a file reference "number" - no blocks.  The number is the
reference number for the partition layer in Coda to find the file data. 

If the partition layer is a "raw inode" partition (which we had under Mach
but do not currently have under Linux/NetBSD etc - since it needs special
system calls) then the most logical number to use is the disk inode number
of the file.  Currently we use a tree type layout of the files and the
number determines the position of the file in the tree.

I hope this clarifies things. 


peter

> Love
> 
Received on 1998-02-10 15:37:47