readdir-report-correct-inums-20041108
authorJeffrey Hutzelman <jhutz@cmu.edu>
Mon, 8 Nov 2004 06:26:01 +0000 (06:26 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 8 Nov 2004 06:26:01 +0000 (06:26 +0000)
commitc3d9ed3cb553747b9b317fc4794755ba98afc24b
tree839fcb1741be56a84340a3457eafd579dc48424b
parent40c1d00508b3ad9e4384ad7cc3f39f7a206c4014
readdir-report-correct-inums-20041108

FIXES 15962

We currently try fairly hard to make stat() on a volume root return the
same vnode number as is listed for the mount point by readdir(). This
behaviour is desirable; in fact, getcwd would not work otherwise.

However, we are _not_ careful about making readdir list correct inode
numbers for "." in a volume root or ".." in a directory whose parent is
a volume root. This means that applications which examine these entries
will still see inconsistent inode numbers. Clearly, it would be more
desirable to report consistent inode numbers in all cases, instead of
only in some cases.

The attached patch, written while I was tracking down some NFS
translator problems (which ultimately proved to be unrelated), makes
readdir return consistent inode numbers for volume roots. We are
running this on a few machines and have seen no problems, but it has not
been extensively tested.
src/afs/VNOPS/afs_vnop_readdir.c