summaryrefslogtreecommitdiffstats
path: root/fs/nfs/delegation.c
diff options
context:
space:
mode:
authorTrond Myklebust <trondmy@gmail.com>2020-01-27 15:58:15 +0100
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2020-02-03 22:35:07 +0100
commitf885ea640d65d98c8f1a326efb3abe13f1865c89 (patch)
treed4b08a64a629e7641f5d86e41275de5dbc1b8999 /fs/nfs/delegation.c
parentNFS: nfs_find_open_context() should use cred_fscmp() (diff)
downloadlinux-f885ea640d65d98c8f1a326efb3abe13f1865c89.tar.xz
linux-f885ea640d65d98c8f1a326efb3abe13f1865c89.zip
NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING
In particular, the pnfs return-on-close code will check for that flag, so ensure we set it appropriately. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r--fs/nfs/delegation.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index fe57b2b5314a..a7e42725c3b1 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -607,6 +607,7 @@ void nfs_inode_evict_delegation(struct inode *inode)
delegation = nfs_inode_detach_delegation(inode);
if (delegation != NULL) {
+ set_bit(NFS_DELEGATION_RETURNING, &delegation->flags);
set_bit(NFS_DELEGATION_INODE_FREEING, &delegation->flags);
nfs_do_return_delegation(inode, delegation, 1);
nfs_free_delegation(delegation);