diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-10-21 20:17:34 +0200 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2019-11-04 03:28:45 +0100 |
commit | ae084a32ee9230ca78c88d646efa0157b2dbca29 (patch) | |
tree | 633ab2f71e3e634500ff3c53c5d687825dca4587 /fs/nfs/delegation.c | |
parent | NFSv4: Hold the delegation spinlock when updating the seqid (diff) | |
download | linux-ae084a32ee9230ca78c88d646efa0157b2dbca29.tar.xz linux-ae084a32ee9230ca78c88d646efa0157b2dbca29.zip |
NFSv4: Clear the NFS_DELEGATION_REVOKED flag in nfs_update_inplace_delegation()
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>
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r-- | fs/nfs/delegation.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index 7ebeb57cb597..a0f798d3c74f 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c @@ -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); } } |