OSDN Git Service

NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING
authorTrond Myklebust <trondmy@gmail.com>
Mon, 27 Jan 2020 14:58:15 +0000 (09:58 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 3 Feb 2020 21:35:07 +0000 (16:35 -0500)
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>
fs/nfs/delegation.c

index fe57b2b..a7e4272 100644 (file)
@@ -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);