diff options
author | Scott Mayhew <smayhew@redhat.com> | 2019-05-06 17:59:05 +0200 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2019-05-09 22:26:57 +0200 |
commit | 8ca017c8cee3aa6a37ddf1db7fd04c54536a0ef0 (patch) | |
tree | 68a08c62f5e92857cfdff293fd064b460524756b /fs/nfs/nfs4state.c | |
parent | SUNRPC: Fix an error code in gss_alloc_msg() (diff) | |
download | linux-8ca017c8cee3aa6a37ddf1db7fd04c54536a0ef0.tar.xz linux-8ca017c8cee3aa6a37ddf1db7fd04c54536a0ef0.zip |
NFSv4: don't mark all open state for recovery when handling recallable state revoked flag
Only delegations and layouts can be recalled, so it shouldn't be
necessary to recover all opens when handling the status bit
SEQ4_STATUS_RECALLABLE_STATE_REVOKED. We'll still wind up calling
nfs41_open_expired() when a TEST_STATEID returns NFS4ERR_DELEG_REVOKED.
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Reviewed-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index f502f1c054cf..e2e3c4f04d3e 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -2350,8 +2350,7 @@ static void nfs41_handle_recallable_state_revoked(struct nfs_client *clp) { /* FIXME: For now, we destroy all layouts. */ pnfs_destroy_all_layouts(clp); - /* FIXME: For now, we test all delegations+open state+locks. */ - nfs41_handle_some_state_revoked(clp); + nfs_test_expired_all_delegations(clp); dprintk("%s: Recallable state revoked on server %s!\n", __func__, clp->cl_hostname); } |