[OpenAFS] Re: why afs backup is so poorly supported

Jeffrey Hutzelman jhutz@cmu.edu
Tue, 10 Oct 2006 13:33:26 -0400


On Tuesday, October 10, 2006 01:16:52 AM -0400 Marcus Watts <mdw@umich.edu> 
wrote:

> Obfuscation might still have been seen as helpful when
> explaining to bean-counter type people why the fileserver shouldn't
> also be the mail server

I'm pretty sure the people designing AFS didn't have that problem. :-)
In fact, the fileserver _was_ the mail server -- the Andrew Message System 
stored all messages in AFS, at every stage of processing.  Mail clients 
read messages directly out of the user's mailbox in AFS.


> However, the lack of any reasonable
> way to manage AFS identities, mount points, and acls in the filesystem
> was surely the over-riding concern.

That, and the need for the fileserver to efficiently do its job.  The AFS 
protocol is based on file identifiers (volume, vnode, uniqifier), not paths 
and filenames, and the fileserver's data is organized in a way that makes 
it efficient to find a file's contents based on its FID.  In the 
traditional fileserver, that meant the vnode index contained the inode 
number of each underlying file, and the kernel was modified to provide 
system calls to access files by inode number.  The namei fileserver 
accesses files by name, but using names which are computed from the file's 
FID, because that's what the server knows when it needs to access a file.

I will note that the NFS protocol is rather similar, and pretty much all 
NFS servers require help from the kernel to obtain "handles" identifying 
files, which can be given to clients and then later used to find the same 
file again.  These generally consist of a filesystem ID, inode number, and 
a "generation number", which performs the same function as AFS's vnode 
uniqifier.


-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA