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: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Родитель
485f225178
Коммит
fdb63dcdb5
|
@ -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)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
retry_timeout:
|
retry_timeout:
|
||||||
|
task->tk_status = 0;
|
||||||
task->tk_action = call_timeout;
|
task->tk_action = call_timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче