OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_20_1-3-g34321f7

Gerrit Code Review
Thu, 2 Mar 2017 04:35:19 -0500

The following commit has been merged in the openafs-stable-1_6_x branch:
commit 34321f7528fccbf0e8b58cbd7ca22755723933c9
Author: Mark Vitale <>
Date:   Wed Dec 7 11:11:45 2016 -0500

    Linux 4.10: have_submounts is gone
    Linux commit f74e7b33c37e vfs: remove unused have_submounts() function
    (v4.10-rc2) removes have_submounts from the tree after providing a
    replacement (path_has_submounts) for its last in-tree caller, autofs.
    However, it turns out that OpenAFS is better off not using the new
    path_has_submounts.  Instead, OpenAFS could/should have stopped using
    have_submounts() much earlier, back in Linux v3.18 when d_invalidate
    became void.  At that time, most in-tree callers of have_submounts had
    already been converted to use check_submounts_and_drop back in v3.12.
    At v3.18, a series of commits modified check_submounts_and_drop to
    automatically remove child submounts (instead of returning -EBUSY if a
    submount was detected), then subsumed it into d_invalidate.  The end
    result was that VFS now implicitly handles much of the housekeeping
    previously called explicitly by the various filesystem d_revalidate
    - shrink_dcache_parent
    - check_submounts_and_drop
    - d_drop
    - d_invalidate
    All in-tree filesystem d_revalidate routines were updated to take
    advantage of this new VFS support.
    Modify afs_linux_dentry_revalidate to no longer perform any special
    handling for invalid dentries when D_INVALIDATE_IS_VOID.  Instead, allow
    our VFS caller to properly clean up any invalid dentry when we return 0.
    Reviewed-by: Michael Meffie <>
    Tested-by: BuildBot <>
    Reviewed-by: Benjamin Kaduk <>
    (cherry picked from commit 789319bf0f2b26ad67995f8cbe88cee87a1bbdc0)
    Change-Id: I7ed22338e7896f69a204be78ed0a4f6136a3dab8
    Reviewed-by: Mark Vitale <>
    Tested-by: BuildBot <>
    Reviewed-by: Stephan Wiesand <>

 src/afs/LINUX/osi_vnodeops.c |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

OpenAFS Master Repository