Commit fdb63dcd authored by Trond Myklebust's avatar Trond Myklebust

SUNRPC: Ensure that call_bind times out correctly

If the rpcbind server is unavailable, we still want the RPC client
to respect the timeout.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent 485f2251
...@@ -1728,9 +1728,7 @@ call_bind_status(struct rpc_task *task) ...@@ -1728,9 +1728,7 @@ call_bind_status(struct rpc_task *task)
case -EPROTONOSUPPORT: case -EPROTONOSUPPORT:
dprintk("RPC: %5u remote rpcbind version unavailable, retrying\n", dprintk("RPC: %5u remote rpcbind version unavailable, retrying\n",
task->tk_pid); task->tk_pid);
task->tk_status = 0; goto retry_timeout;
task->tk_action = call_bind;
return;
case -ECONNREFUSED: /* connection problems */ case -ECONNREFUSED: /* connection problems */
case -ECONNRESET: case -ECONNRESET:
case -ECONNABORTED: case -ECONNABORTED:
...@@ -1756,6 +1754,7 @@ call_bind_status(struct rpc_task *task) ...@@ -1756,6 +1754,7 @@ call_bind_status(struct rpc_task *task)
return; return;
retry_timeout: retry_timeout:
task->tk_status = 0;
task->tk_action = call_timeout; task->tk_action = call_timeout;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment