summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2009-12-03 15:53:21 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-13 11:28:48 -0800
commit1852b028a976ec97e75dbf17fe693f6d5ceeb906 (patch)
tree483c499f45449c7b5a337ed99c544307fd72bcc6 /fs
parent065f8f7a00dbc4b41f81564679fac7312d0971c8 (diff)
NFSv4: Ensure the state manager handles NFS4ERR_NO_GRACE correctly
commit c8b7ae3d3221536228260757444ee10c6d71793f upstream. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Cc: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-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 6aea9f6e48f8..2a7f163cfd70 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);