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:
commit d61cb9ad764115811fcca3dd0a735ecad1d6eac4
Author: Andrew Deason <>
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.
    Change-Id: I5011ba069e5c8ed947ab6ff8d8dd393241d9c4bf
    Tested-by: BuildBot <>
    Reviewed-by: Chas Williams - CONTRACTOR <>
    Reviewed-by: Daria Brashear <>

 src/afs/LINUX/osi_vnodeops.c |   64 +-----------------------------------------
 1 files changed, 1 insertions(+), 63 deletions(-)

OpenAFS Master Repository