aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
authorTrond Myklebust <trondmy@gmail.com>2020-01-27 09:58:17 -0500
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2020-02-03 16:35:07 -0500
commitb7b7dac6843e483b6fe8e29cef99e3dbb7594a53 (patch)
treeb396f0c64ae98720ed8c7afb8edcfa57e71569ad /fs/nfs/nfs4state.c
parentNFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned (diff)
downloadlinux-dev-b7b7dac6843e483b6fe8e29cef99e3dbb7594a53.tar.xz
linux-dev-b7b7dac6843e483b6fe8e29cef99e3dbb7594a53.zip
NFSv4: Try to return the delegation immediately when marked for return on close
Add a routine to return the delegation immediately upon close of the file if it was marked for return-on-close. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to '')
-rw-r--r--fs/nfs/nfs4state.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index fe1b908eecc8..19b473bc560e 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -766,6 +766,7 @@ void nfs4_put_open_state(struct nfs4_state *state)
list_del(&state->open_states);
spin_unlock(&inode->i_lock);
spin_unlock(&owner->so_lock);
+ nfs4_inode_return_delegation_on_close(inode);
iput(inode);
nfs4_free_open_state(state);
nfs4_put_state_owner(owner);