mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 14:44:12 +00:00
[PATCH] knfsd: nfsd4: fix probe_callback
rpc_create_client was modified recently to do its own (synchronous) NULL ping of the server. We'd rather do that on our own, asynchronously, so that we don't have to block the nfsd thread doing the probe, and so that setclientid handling (hence, client mounts) can proceed normally whether the callback is succesful or not. (We can still function fine without the callback channel--we just won't be able to give out delegations till it's verified to work.) Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
7e06b7f9e9
commit
5ba266d632
2 changed files with 2 additions and 1 deletions
|
@ -427,7 +427,7 @@ nfsd4_probe_callback(struct nfs4_client *clp)
|
||||||
* XXX AUTH_UNIX only - need AUTH_GSS....
|
* XXX AUTH_UNIX only - need AUTH_GSS....
|
||||||
*/
|
*/
|
||||||
sprintf(hostname, "%u.%u.%u.%u", NIPQUAD(addr.sin_addr.s_addr));
|
sprintf(hostname, "%u.%u.%u.%u", NIPQUAD(addr.sin_addr.s_addr));
|
||||||
clnt = rpc_create_client(xprt, hostname, program, 1, RPC_AUTH_UNIX);
|
clnt = rpc_new_client(xprt, hostname, program, 1, RPC_AUTH_UNIX);
|
||||||
if (IS_ERR(clnt)) {
|
if (IS_ERR(clnt)) {
|
||||||
dprintk("NFSD: couldn't create callback client\n");
|
dprintk("NFSD: couldn't create callback client\n");
|
||||||
goto out_err;
|
goto out_err;
|
||||||
|
|
|
@ -41,6 +41,7 @@ EXPORT_SYMBOL(rpc_release_task);
|
||||||
|
|
||||||
/* RPC client functions */
|
/* RPC client functions */
|
||||||
EXPORT_SYMBOL(rpc_create_client);
|
EXPORT_SYMBOL(rpc_create_client);
|
||||||
|
EXPORT_SYMBOL(rpc_new_client);
|
||||||
EXPORT_SYMBOL(rpc_clone_client);
|
EXPORT_SYMBOL(rpc_clone_client);
|
||||||
EXPORT_SYMBOL(rpc_bind_new_program);
|
EXPORT_SYMBOL(rpc_bind_new_program);
|
||||||
EXPORT_SYMBOL(rpc_destroy_client);
|
EXPORT_SYMBOL(rpc_destroy_client);
|
||||||
|
|
Loading…
Reference in a new issue