aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4callback.c
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-02-24 16:48:06 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2010-02-24 20:50:28 -0500
commit58255a4e3ce506b43bb14d5579006731a981490d (patch)
tree3b7cbbea0fc728b1a5c66b553a92f57440997ddb /fs/nfsd/nfs4callback.c
parent978ebd97d1426d5708d3f353179ab81f191a7eeb (diff)
NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN
The server's callback client should stop trying to connect to the client's callback server as soon as it gets ECONNREFUSED. The NFS server's callback client does not call rpc_ping(), but appears to have it's own "ping" procedure, so it wasn't covered by commit caabea8a. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs4callback.c')
-rw-r--r--fs/nfsd/nfs4callback.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index c6eed2a3b093..8fa412ce8021 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -542,7 +542,8 @@ void do_probe_callback(struct nfs4_client *clp)
542 }; 542 };
543 int status; 543 int status;
544 544
545 status = rpc_call_async(cb->cb_client, &msg, RPC_TASK_SOFT, 545 status = rpc_call_async(cb->cb_client, &msg,
546 RPC_TASK_SOFT | RPC_TASK_SOFTCONN,
546 &nfsd4_cb_probe_ops, (void *)clp); 547 &nfsd4_cb_probe_ops, (void *)clp);
547 if (status) { 548 if (status) {
548 warn_no_callback_path(clp, status); 549 warn_no_callback_path(clp, status);