summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2018-07-05 05:48:14 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2018-07-30 13:19:40 -0400
commit8b199e58d49beaae33eaf11b68b7183eb28f1681 (patch)
tree853347c9745ebdc14f43c4453ccbc4e087aa6a81 /fs
parent01a368441ff1c93a16fc69e147c5787da7798d38 (diff)
downloadop-kernel-dev-8b199e58d49beaae33eaf11b68b7183eb28f1681.zip
op-kernel-dev-8b199e58d49beaae33eaf11b68b7183eb28f1681.tar.gz
nfs: initiate returning delegation when reclaiming one that's been recalled
When reclaiming a delegation via CLAIM_PREVIOUS open, the server can indicate that the delegation has been recalled since it was issued by setting the "recalled" flag in the delegation. Ensure that we respect the flag by initiating a delegation return when it is set. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/nfs4proc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 5a8190e..3b28c0a 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -1773,6 +1773,10 @@ nfs4_opendata_check_deleg(struct nfs4_opendata *data, struct nfs4_state *state)
data->o_res.delegation_type,
&data->o_res.delegation,
data->o_res.pagemod_limit);
+
+ if (data->o_res.do_recall)
+ nfs_async_inode_return_delegation(state->inode,
+ &data->o_res.delegation);
}
/*
OpenPOWER on IntegriCloud