summaryrefslogtreecommitdiff
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2011-04-24 14:29:33 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-04-24 14:29:33 -0400
commit1bd714f2a14aa4d6a5570956fcec64530b007e4a (patch)
tree7b468cf5e79a13e3931dda377b95c759475c95ae /fs/nfs/nfs4state.c
parent7494d00c7b826b6ceb79ec33892bd0ef59be5614 (diff)
downloadlwn-1bd714f2a14aa4d6a5570956fcec64530b007e4a.tar.gz
lwn-1bd714f2a14aa4d6a5570956fcec64530b007e4a.zip
NFSv4: Ensure that clientid and session establishment can time out
The following patch ensures that we do not get permanently trapped in the RPC layer when trying to establish a new client id or session. This again ensures that the state manager can finish in a timely fashion when the last filesystem to reference the nfs_client exits. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r--fs/nfs/nfs4state.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 4a810c8b0753..036f5adc9e1f 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -1604,6 +1604,7 @@ static void nfs4_set_lease_expired(struct nfs_client *clp, int status)
clear_bit(NFS4CLNT_LEASE_CONFIRM, &clp->cl_state);
break;
case -NFS4ERR_DELAY:
+ case -ETIMEDOUT:
case -EAGAIN:
ssleep(1);
break;