[OpenAFS-devel] directory inodes with multiple dentries

Jeffrey Hutzelman jhutz@cmu.edu
Wed, 27 Apr 2005 18:58:29 -0400


On Wednesday, April 27, 2005 06:38:01 PM -0400 Chaskiel M Grundman 
<cg2v@andrew.cmu.edu> wrote:

> It has been requested that I try to make sure that the (one and only)
> dentry never has the @sys name in it. The only way we came up to do this
> is to extend the afs_lookup() interface to return the translated name if
> @sys processing was done. Does this seem appropriate?

That request came from me, as did the proposed extension to the afs_lookup 
interface.  The rationale is that on platforms where getcwd() is 
implemented in user mode, it will always report the real name of the 
directory, rather than one involving @sys.  On Linux, getcwd() is a syscall 
implemented in terms of the dentry cache, and getting the same behavior 
requires caching the real name of the inode and not an alias involving 
@sys.  There is no such existing deterministic behavior for volumes with 
more than one mount point, so I am less concerned about that case (I will 
be sorry to lose the "you get the path you followed" behavior we currently 
have on Linux, but the one-alias-per-directory rule seems to tie our hands 
in that respect).

Obviously, I believe the afs_lookup() interface change is reasonable, 
provided it results in a solution to this problem short of incorporating 
virtually all of afs_lookup() by value into the LINUX lookup and 
dentry_revalidate operations.

-- Jeff