diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-12-05 19:32:11 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-12-05 19:32:11 -0500 |
commit | f26468fb9384e73fb357d2e84d3e9c88c7d1129d (patch) | |
tree | 453ab2ea84473a1f52d0400c628d8ad9fd95d8c8 /fs/nfs/nfs4state.c | |
parent | da6ebfe34a3921cfb47b938fb819abc78c6080e5 (diff) |
NFSv41: Fix nfs4_proc_create_session
We should not assume that nfs41_init_clientid() will always want to
initialise the session. If it is being called due to a server reboot, then
we just want to reset the session after re-establishing the clientid.
Fix this by getting rid of the 'reset' parameter in
nfs4_proc_create_session(), and instead relying on whether or not the
session slot table pointer is non-NULL.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 873dda7fec3e..37f020eb92f2 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -123,7 +123,7 @@ int nfs41_init_clientid(struct nfs_client *clp, struct rpc_cred *cred) | |||
123 | status = nfs4_proc_exchange_id(clp, cred); | 123 | status = nfs4_proc_exchange_id(clp, cred); |
124 | if (status == 0) | 124 | if (status == 0) |
125 | /* create session schedules state renewal upon success */ | 125 | /* create session schedules state renewal upon success */ |
126 | status = nfs4_proc_create_session(clp, 0); | 126 | status = nfs4_proc_create_session(clp); |
127 | if (status == 0) | 127 | if (status == 0) |
128 | nfs_mark_client_ready(clp, NFS_CS_READY); | 128 | nfs_mark_client_ready(clp, NFS_CS_READY); |
129 | return status; | 129 | return status; |
@@ -1240,7 +1240,7 @@ static int nfs4_reset_session(struct nfs_client *clp) | |||
1240 | } | 1240 | } |
1241 | 1241 | ||
1242 | memset(clp->cl_session->sess_id.data, 0, NFS4_MAX_SESSIONID_LEN); | 1242 | memset(clp->cl_session->sess_id.data, 0, NFS4_MAX_SESSIONID_LEN); |
1243 | status = nfs4_proc_create_session(clp, 1); | 1243 | status = nfs4_proc_create_session(clp); |
1244 | if (status) | 1244 | if (status) |
1245 | nfs4_session_recovery_handle_error(clp, status); | 1245 | nfs4_session_recovery_handle_error(clp, status); |
1246 | /* fall through*/ | 1246 | /* fall through*/ |