提交 31f4a6c1 编写于 作者: N NeilBrown 提交者: Linus Torvalds

[PATCH] knfsd: nfsd4: fix uncomfirmed list

Setclientid code assumes there is only one match in unconfirmed list.
Make sure that assumption holds.

From: Fred Isaman
Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: NNeil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 fd39ca9a
...@@ -743,9 +743,12 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_setclientid *setclid) ...@@ -743,9 +743,12 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_setclientid *setclid)
* nfs4_client, but with the new callback info and a * nfs4_client, but with the new callback info and a
* new cl_confirm * new cl_confirm
*/ */
if ((unconf) && if (unconf) {
cmp_verf(&unconf->cl_verifier, &conf->cl_verifier) && /* Note this is removing unconfirmed {*x***},
cmp_clid(&unconf->cl_clientid, &conf->cl_clientid)) { * which is stronger than RFC recommended {vxc**}.
* This has the advantage that there is at most
* one {*x***} in either list at any time.
*/
expire_client(unconf); expire_client(unconf);
} }
new = create_client(clname, dname); new = create_client(clname, dname);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册