aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4state.c
diff options
context:
space:
mode:
authorMi Jinlong <mijinlong@cn.fujitsu.com>2010-11-11 05:03:40 -0500
committerJ. Bruce Fields <bfields@redhat.com>2010-11-19 18:35:12 -0500
commit1205065764f2eda3216ebe213143f69891ee3460 (patch)
tree55337dfc281fa65ea014cd9567cb8aa75ef74f18 /fs/nfsd/nfs4state.c
parentced6dfe9fc7128995c6d60627938944b430d82c8 (diff)
NFS4.1: Fix bug server don't reply the right fore_channel to client at create_session
At the latest kernel(2.6.37-rc1), server just initialize the forechannel at init_forechannel_attrs, but don't reflect it to reply. After initialize the session success, we should copy the forechannel info to nfsd4_create_session struct. Reviewed-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: Mi Jinlong <mijinlong@cn.fujitsu.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r--fs/nfsd/nfs4state.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 5d0ee0f0cb0e..afa7525a86be 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1562,6 +1562,8 @@ nfsd4_create_session(struct svc_rqst *rqstp,
1562 status = nfs_ok; 1562 status = nfs_ok;
1563 memcpy(cr_ses->sessionid.data, new->se_sessionid.data, 1563 memcpy(cr_ses->sessionid.data, new->se_sessionid.data,
1564 NFS4_MAX_SESSIONID_LEN); 1564 NFS4_MAX_SESSIONID_LEN);
1565 memcpy(&cr_ses->fore_channel, &new->se_fchannel,
1566 sizeof(struct nfsd4_channel_attrs));
1565 cs_slot->sl_seqid++; 1567 cs_slot->sl_seqid++;
1566 cr_ses->seqid = cs_slot->sl_seqid; 1568 cr_ses->seqid = cs_slot->sl_seqid;
1567 1569