[OpenAFS-devel] RE: fsck

Default aeneous@speakeasy.org
Tue, 07 Nov 2000 07:14:00 -0500


> Because the directory lookup overhead on most UNIX filesystems is quite
> high.  The result is that a server that accesses its data through links in
> the filesystem is considerably slower than one that accesses them by inode
> number.  IIRC, ext2 is better about this than most systems, but it's still
> not as good as being able to do lookups by number.

Maintaing references to viceinodes from native fs directories does not require 
that the fileserver perform open-by-pathname, and I don't believe that the 
linux server does so.

> Also, AFS keeps a small amount of metadata with each inode, namely the
> parent volume, vnode, uniqifier, and data version of the vnode with which
> that inode is associated.  This information can be of critical importance
> when reconstructing a volume whose vnode indices were destroyed.  When the
> through-the-filesystem approach is used, this metadata must be stored in
> an index file somewhere else in the filesystem (possibly not even on the
> same disk).  Storing it separately increases the chances that it will be
> lost, or that the wrong data will be used.

This is tricky, but it's not insurmountable. No harder than rewriting
fsck from scratch for several proprietary OSes without filesystem 
source code.