mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 17:11:33 +00:00
SUNRPC: ECONNRESET might require a rebind
If connect() is returning ECONNRESET, it usually means that nothing is
listening on that port. If so, a rebind might be required in order to
obtain the new port on which the RPC service is listening.
Fixes: fd01b25979
("SUNRPC: ECONNREFUSED should cause a rebind.")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
6e7434abcd
commit
4b09ca1508
@ -2171,6 +2171,7 @@ call_connect_status(struct rpc_task *task)
|
||||
task->tk_status = 0;
|
||||
switch (status) {
|
||||
case -ECONNREFUSED:
|
||||
case -ECONNRESET:
|
||||
/* A positive refusal suggests a rebind is needed. */
|
||||
if (RPC_IS_SOFTCONN(task))
|
||||
break;
|
||||
@ -2179,7 +2180,6 @@ call_connect_status(struct rpc_task *task)
|
||||
goto out_retry;
|
||||
}
|
||||
fallthrough;
|
||||
case -ECONNRESET:
|
||||
case -ECONNABORTED:
|
||||
case -ENETDOWN:
|
||||
case -ENETUNREACH:
|
||||
|
Loading…
Reference in New Issue
Block a user