diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-11-02 14:03:01 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-11-02 14:03:01 -0400 |
commit | 5be22f588700fb3311d8d6dbc9845b139045d603 (patch) | |
tree | d830350c8e7d4ed9172a6971bf6e05808449f2d0 /fs/nfs/nfs4proc.c | |
parent | 917fa4e672939669f74f1c879b3aae6239f6719b (diff) | |
parent | 3b65f403d7d0e98484e8f2c9471808f2785a8235 (diff) | |
download | linux-rt-5be22f588700fb3311d8d6dbc9845b139045d603.tar.gz |
Merge tag 'v4.14.73' into v4.14-rt
This is the 4.14.73 stable release
Conflicts:
kernel/time/tick-sched.c
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index e0a9f811f0ef..4ce6ec109c2b 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2533,14 +2533,18 @@ static void nfs41_check_delegation_stateid(struct nfs4_state *state) } nfs4_stateid_copy(&stateid, &delegation->stateid); - if (test_bit(NFS_DELEGATION_REVOKED, &delegation->flags) || - !test_and_clear_bit(NFS_DELEGATION_TEST_EXPIRED, - &delegation->flags)) { + if (test_bit(NFS_DELEGATION_REVOKED, &delegation->flags)) { rcu_read_unlock(); nfs_finish_clear_delegation_stateid(state, &stateid); return; } + if (!test_and_clear_bit(NFS_DELEGATION_TEST_EXPIRED, + &delegation->flags)) { + rcu_read_unlock(); + return; + } + cred = get_rpccred(delegation->cred); rcu_read_unlock(); status = nfs41_test_and_free_expired_stateid(server, &stateid, cred); |