Skip to content
  • NeilBrown's avatar
    NFS: teach nfs_neg_need_reval to understand LOOKUP_RCU · 912a108d
    NeilBrown authored
    
    
    This requires nfs_check_verifier to take an rcu_walk flag, and requires
    an rcu version of nfs_revalidate_inode which returns -ECHILD rather
    than making an RPC call.
    
    With this, nfs_lookup_revalidate can call nfs_neg_need_reval in
    RCU-walk mode.
    
    We can also move the LOOKUP_RCU check past the nfs_check_verifier()
    call in nfs_lookup_revalidate.
    
    If RCU_WALK prevents nfs_check_verifier or nfs_neg_need_reval from
    doing a full check, they return a status indicating that a revalidation
    is required.  As this revalidation will not be possible in RCU_WALK
    mode, -ECHILD will ultimately be returned, which is the desired result.
    
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
    912a108d