aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorChuck Lever <cel@netapp.com>2005-10-06 23:12:58 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2005-10-18 17:20:10 -0400
commitea635a517e350eb03ab5f01618417f31b82a9a4d (patch)
treef2c506b1dec60259ab9d6cfd0b092433cf91774f /net/sunrpc/clnt.c
parentcff6bf970965c98c62007fc8a36527fd147fe233 (diff)
SUNRPC: Retry rpcbind requests if the server's portmapper isn't up
After a server crash/reboot, rebinding should always retry, otherwise requests on "hard" mounts will fail when they shouldn't. Test plan: Run a lock-intensive workload against a server while rebooting the server repeatedly. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r--net/sunrpc/clnt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 5a8f01d726e9..a5f7029b1daa 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -759,7 +759,8 @@ call_bind_status(struct rpc_task *task)
759 case -EACCES: 759 case -EACCES:
760 dprintk("RPC: %4d remote rpcbind: RPC program/version unavailable\n", 760 dprintk("RPC: %4d remote rpcbind: RPC program/version unavailable\n",
761 task->tk_pid); 761 task->tk_pid);
762 break; 762 rpc_delay(task, 3*HZ);
763 goto retry_bind;
763 case -ETIMEDOUT: 764 case -ETIMEDOUT:
764 dprintk("RPC: %4d rpcbind request timed out\n", 765 dprintk("RPC: %4d rpcbind request timed out\n",
765 task->tk_pid); 766 task->tk_pid);