• J. Bruce Fields's avatar
    nfsd4: shut down more of delegation earlier · 68a33961
    J. Bruce Fields authored
    Once we've unhashed the delegation, it's only hanging around for the
    benefit of an oustanding recall, which only needs the encoded
    filehandle, stateid, and dl_retries counter.  No point keeping the file
    around any longer, or keeping it hashed.
    
    This also fixes a race: calls to idr_remove should really be serialized
    by the caller, but the nfs4_put_delegation call from the callback code
    isn't taking the state lock.
    
    (Better might be to cancel the callback before destroying the
    delegation, and remove any need for reference counting--but I don't see
    an easy way to cancel an rpc call.)
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    68a33961
nfs4state.c 133 KB