aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-03 15:53:21 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-03 15:53:21 -0500
commitc8b7ae3d3221536228260757444ee10c6d71793f (patch)
tree0fe8d45072d1f2b49e1211402843d5df15510f74 /fs/nfs
parentNFSv4: The state manager shouldn't exit on errors that were handled (diff)
downloadlinux-dev-c8b7ae3d3221536228260757444ee10c6d71793f.tar.xz
linux-dev-c8b7ae3d3221536228260757444ee10c6d71793f.zip
NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/nfs4state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 8f27b4f0a530..b53e37fb0302 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1057,6 +1057,9 @@ static int nfs4_recovery_handle_error(struct nfs_client *clp, int error)
case -NFS4ERR_CB_PATH_DOWN:
nfs_handle_cb_pathdown(clp);
return 0;
+ case -NFS4ERR_NO_GRACE:
+ nfs4_state_end_reclaim_reboot(clp);
+ return 0;
case -NFS4ERR_STALE_CLIENTID:
case -NFS4ERR_LEASE_MOVED:
set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state);