From: Trond Myklebust Date: Sun, 17 Sep 2023 13:06:05 +0000 (-0400) Subject: SUNRPC: ECONNRESET might require a rebind X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4b09ca1508a60be30b2e3940264e93d7aeb5c97e;p=linux.git 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: fd01b2597941 ("SUNRPC: ECONNREFUSED should cause a rebind.") Signed-off-by: Trond Myklebust --- diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 9c210273d06b7..f6074a4b9eabf 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -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: