diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-27 13:02:53 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-05-27 14:33:07 -0400 |
commit | 9f594791dd530c2dc06953fb32505a26cc28371f (patch) | |
tree | 3e981af095a51a354bb1c1d281136e1889a125c9 /fs/nfs/nfs4proc.c | |
parent | 7c5d7256845e30d295de4d72d4c52943bff7d1ac (diff) |
NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION
Let nfs4_schedule_session_recovery() handle the details of choosing
between resetting the session, and other session related recovery.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 9f0a96fe6212..6be5fa3d8ddc 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -306,7 +306,7 @@ static int nfs4_handle_exception(struct nfs_server *server, int errorcode, struc | |||
306 | case -NFS4ERR_SEQ_MISORDERED: | 306 | case -NFS4ERR_SEQ_MISORDERED: |
307 | dprintk("%s ERROR: %d Reset session\n", __func__, | 307 | dprintk("%s ERROR: %d Reset session\n", __func__, |
308 | errorcode); | 308 | errorcode); |
309 | nfs4_schedule_session_recovery(clp->cl_session); | 309 | nfs4_schedule_session_recovery(clp->cl_session, errorcode); |
310 | exception->retry = 1; | 310 | exception->retry = 1; |
311 | break; | 311 | break; |
312 | #endif /* defined(CONFIG_NFS_V4_1) */ | 312 | #endif /* defined(CONFIG_NFS_V4_1) */ |
@@ -1330,7 +1330,7 @@ int nfs4_open_delegation_recall(struct nfs_open_context *ctx, struct nfs4_state | |||
1330 | case -NFS4ERR_BAD_HIGH_SLOT: | 1330 | case -NFS4ERR_BAD_HIGH_SLOT: |
1331 | case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: | 1331 | case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: |
1332 | case -NFS4ERR_DEADSESSION: | 1332 | case -NFS4ERR_DEADSESSION: |
1333 | nfs4_schedule_session_recovery(server->nfs_client->cl_session); | 1333 | nfs4_schedule_session_recovery(server->nfs_client->cl_session, err); |
1334 | goto out; | 1334 | goto out; |
1335 | case -NFS4ERR_STALE_CLIENTID: | 1335 | case -NFS4ERR_STALE_CLIENTID: |
1336 | case -NFS4ERR_STALE_STATEID: | 1336 | case -NFS4ERR_STALE_STATEID: |
@@ -3906,7 +3906,7 @@ nfs4_async_handle_error(struct rpc_task *task, const struct nfs_server *server, | |||
3906 | case -NFS4ERR_SEQ_MISORDERED: | 3906 | case -NFS4ERR_SEQ_MISORDERED: |
3907 | dprintk("%s ERROR %d, Reset session\n", __func__, | 3907 | dprintk("%s ERROR %d, Reset session\n", __func__, |
3908 | task->tk_status); | 3908 | task->tk_status); |
3909 | nfs4_schedule_session_recovery(clp->cl_session); | 3909 | nfs4_schedule_session_recovery(clp->cl_session, task->tk_status); |
3910 | task->tk_status = 0; | 3910 | task->tk_status = 0; |
3911 | return -EAGAIN; | 3911 | return -EAGAIN; |
3912 | #endif /* CONFIG_NFS_V4_1 */ | 3912 | #endif /* CONFIG_NFS_V4_1 */ |
@@ -4847,7 +4847,7 @@ int nfs4_lock_delegation_recall(struct nfs4_state *state, struct file_lock *fl) | |||
4847 | case -NFS4ERR_BAD_HIGH_SLOT: | 4847 | case -NFS4ERR_BAD_HIGH_SLOT: |
4848 | case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: | 4848 | case -NFS4ERR_CONN_NOT_BOUND_TO_SESSION: |
4849 | case -NFS4ERR_DEADSESSION: | 4849 | case -NFS4ERR_DEADSESSION: |
4850 | nfs4_schedule_session_recovery(server->nfs_client->cl_session); | 4850 | nfs4_schedule_session_recovery(server->nfs_client->cl_session, err); |
4851 | goto out; | 4851 | goto out; |
4852 | case -ERESTARTSYS: | 4852 | case -ERESTARTSYS: |
4853 | /* | 4853 | /* |