OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-4546-gd61cb9a
Gerrit Code Review
Wed, 14 Jan 2015 10:17:57 -0500
The following commit has been merged in the master branch:
Author: Andrew Deason <email@example.com>
Date: Mon Dec 1 10:11:38 2014 -0600
LINUX: Remove fix_bad_parent
For Linux, fix_bad_parent (and in 1.6 and earlier, check_bad_parent)
served the purpose of fixing mvid if it was "wrong", for volume-root
vcaches (mvstat == 2).
However, in modern Linux, we never really use mvid for root vcaches.
This would normally be used for looking up ".." entries in the root
dir, but Linux handles that for us.
Specifically, the only times an "mvstat == 2" mvid is used are:
- afs_lookup(), where we specifically check for a ".." lookup. Linux
cannot give us a lookup for "..", since Linux itself services ".."
lookups through the dcache.
- afs_readdir_move(), where we look for ".." entries. Linux does not
use this function, since Linux reimplements afs_readdir() in
afs_linux_readdir(), and so this function is never called.
Of course, mvid is used in many other locations, mostly for "mvstat ==
1" vcaches (mountpoints) and a few other special cases. But these are
the instances where mvid is relevant for root dirs.
So, since mvid is never really used for "mvstat == 2" vcaches on
Linux, don't bother trying to keep it up-to-date. Doing so is just
needless waste, and causes problems when there are bugs in
fix_bad_parent. The mvid field is still updated in cross-platform code
from time to time; removing that would be more complex and possibly
not worth the effort.
Tested-by: BuildBot <firstname.lastname@example.org>
Reviewed-by: Chas Williams - CONTRACTOR <email@example.com>
Reviewed-by: Daria Brashear <firstname.lastname@example.org>
src/afs/LINUX/osi_vnodeops.c | 64 +-----------------------------------------
1 files changed, 1 insertions(+), 63 deletions(-)
OpenAFS Master Repository