diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-04-24 14:29:33 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-04-24 14:29:33 -0400 |
commit | 1bd714f2a14aa4d6a5570956fcec64530b007e4a (patch) | |
tree | 7b468cf5e79a13e3931dda377b95c759475c95ae /fs/nfs/nfs4state.c | |
parent | 7494d00c7b826b6ceb79ec33892bd0ef59be5614 (diff) | |
download | lwn-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.c | 1 |
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; |