diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 083786aad83ce4161ef0fa384f75bf0cee662d47..dfa46e49e3563e6c4331fa3ac3767eaa6230b72f 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2459,6 +2459,11 @@ static void nfs41_check_delegation_stateid(struct nfs4_state *state) 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);