[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.