aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2010-04-15 15:11:09 -0400
committerJ. Bruce Fields <bfields@citi.umich.edu>2010-04-16 21:47:37 -0400
commit408b79bcc32d7221a4975771ab6bff3d3173d530 (patch)
treeb39fb803b110f524601693c7faf8f95c94371ef4 /fs/nfsd
parent9045b4b9f7f340f43de0cf687b5b52f6feaaa984 (diff)
nfsd4: consistent session flag setting
We should clear these flags on any new create_session, not just on the first one. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 5d86df1d1881..5051ade30dfb 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1323,12 +1323,6 @@ nfsd4_create_session(struct svc_rqst *rqstp,
1323 cs_slot->sl_seqid++; /* from 0 to 1 */ 1323 cs_slot->sl_seqid++; /* from 0 to 1 */
1324 move_to_confirmed(unconf); 1324 move_to_confirmed(unconf);
1325 1325
1326 /*
1327 * We do not support RDMA or persistent sessions
1328 */
1329 cr_ses->flags &= ~SESSION4_PERSIST;
1330 cr_ses->flags &= ~SESSION4_RDMA;
1331
1332 if (cr_ses->flags & SESSION4_BACK_CHAN) { 1326 if (cr_ses->flags & SESSION4_BACK_CHAN) {
1333 unconf->cl_cb_xprt = rqstp->rq_xprt; 1327 unconf->cl_cb_xprt = rqstp->rq_xprt;
1334 svc_xprt_get(unconf->cl_cb_xprt); 1328 svc_xprt_get(unconf->cl_cb_xprt);
@@ -1348,6 +1342,12 @@ nfsd4_create_session(struct svc_rqst *rqstp,
1348 goto out; 1342 goto out;
1349 } 1343 }
1350 1344
1345 /*
1346 * We do not support RDMA or persistent sessions
1347 */
1348 cr_ses->flags &= ~SESSION4_PERSIST;
1349 cr_ses->flags &= ~SESSION4_RDMA;
1350
1351 status = alloc_init_session(rqstp, conf, cr_ses); 1351 status = alloc_init_session(rqstp, conf, cr_ses);
1352 if (status) 1352 if (status)
1353 goto out; 1353 goto out;