diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2013-12-31 13:13:30 -0500 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2015-02-16 15:08:13 +0100 |
commit | 6686e9091ed571d4a616d2e655c22e34ded49fcb (patch) | |
tree | 247619e4e0020a23c194e9e769fcefb055e383c3 /net | |
parent | 5a88b3915463423b14e19d50e96f35fa2a6f96d1 (diff) |
SUNRPC: Ensure xprt_connect_status handles all potential connection errors
commit 0fe8d04e8c3a1eb49089793e38b60a17cee564e3 upstream.
Currently, xprt_connect_status will convert connection error values such
as ECONNREFUSED, ECONNRESET, ... into EIO, which means that they never
get handled.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/xprt.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 42ce6bfc729d..92ed62ee5a32 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -745,6 +745,11 @@ static void xprt_connect_status(struct rpc_task *task) } switch (task->tk_status) { + case -ECONNREFUSED: + case -ECONNRESET: + case -ECONNABORTED: + case -ENETUNREACH: + case -EHOSTUNREACH: case -EAGAIN: dprintk("RPC: %5u xprt_connect_status: retrying\n", task->tk_pid); break; |