OSDN Git Service

NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation()
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 21 Oct 2019 18:17:34 +0000 (14:17 -0400)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 4 Nov 2019 02:28:45 +0000 (21:28 -0500)
If the server sent us a new delegation stateid that is more recent than
the one that got revoked, then clear the NFS_DELEGATION_REVOKED flag.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/delegation.c

index 7ebeb57..a0f798d 100644 (file)
@@ -343,6 +343,7 @@ nfs_update_inplace_delegation(struct nfs_delegation *delegation,
                delegation->stateid.seqid = update->stateid.seqid;
                smp_wmb();
                delegation->type = update->type;
+               clear_bit(NFS_DELEGATION_REVOKED, &delegation->flags);
        }
 }