diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2010-02-24 13:48:06 -0800 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2010-02-24 17:50:28 -0800 |
commit | 58255a4e3ce506b43bb14d5579006731a981490d (patch) | |
tree | 3b7cbbea0fc728b1a5c66b553a92f57440997ddb /fs/nfsd | |
parent | 978ebd97d1426d5708d3f353179ab81f191a7eeb (diff) | |
download | linux-58255a4e3ce506b43bb14d5579006731a981490d.tar.bz2 |
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')
-rw-r--r-- | fs/nfsd/nfs4callback.c | 3 |
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) }; int status; - status = rpc_call_async(cb->cb_client, &msg, RPC_TASK_SOFT, + status = rpc_call_async(cb->cb_client, &msg, + RPC_TASK_SOFT | RPC_TASK_SOFTCONN, &nfsd4_cb_probe_ops, (void *)clp); if (status) { warn_no_callback_path(clp, status); |