summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2009-04-01 15:22:39 +0200
committerBenny Halevy <bhalevy@panasas.com>2009-06-17 21:25:06 +0200
commitc3fad1b1aaf850bf692642642ace7cd0d64af0a3 (patch)
treeff8822016d004d9f0cbd67a3373f5f1f4527f363 /net
parentnfs41: add session setup to the state manager (diff)
downloadlinux-c3fad1b1aaf850bf692642642ace7cd0d64af0a3.tar.xz
linux-c3fad1b1aaf850bf692642642ace7cd0d64af0a3.zip
nfs41: add session reset to state manager
Move the code to reset a session from the session_reclaimer to the nfs4_state_manager. Destroy the session, and create a new one. Treat NFS4ERR_BADSESSION and NFS4ERR_DEADSESSION as a successful nfs4_proc_destroy_session. Signal nfs4_proc_create_session that this is a session reset so that the session slot table is re-used. If the clientid is stale, set both NFS4CLNT_LEASE_EXPIRED and NFS4CLNT_SESSION_SETUP bits and retry. Use a switch statement in nfs4_session_recovery_handle_error for future patche which will add handling for other errors. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> [nfs41: session reset in nfs4_recovery_handle_error] Signed-off-by: Andy Adamson <andros@netapp.com> [nfs41: reset session on nfs4_do_reclaim session reset error] If nfs4_do_reclaim gets a session reset error, nfs4_recovery_handle_error will set the NFS4CLNT_SESSION_SETUP bit, and the state manager should continue processing to reset the session. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> [move nfs4_proc_destroy_session declaration here] Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions