diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-03-19 13:25:43 -0400 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2014-03-19 17:19:42 -0400 |
commit | 9455e3f43b017f560daf4289d0fa295a33976f2a (patch) | |
tree | 5f524a49dbcfd78a3f91a772ec5471f42340b542 /net/sunrpc/clnt.c | |
parent | 150e7260f309fd07e853c05f7fc55b7cccb4780d (diff) | |
download | talos-op-linux-9455e3f43b017f560daf4289d0fa295a33976f2a.tar.gz talos-op-linux-9455e3f43b017f560daf4289d0fa295a33976f2a.zip |
SUNRPC: Ensure call_status() deals correctly with SOFTCONN tasks
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'net/sunrpc/clnt.c')
-rw-r--r-- | net/sunrpc/clnt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index cea1308a6fda..ef96568902c5 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -2004,6 +2004,10 @@ call_status(struct rpc_task *task) case -EHOSTDOWN: case -EHOSTUNREACH: case -ENETUNREACH: + if (RPC_IS_SOFTCONN(task)) { + rpc_exit(task, status); + break; + } /* * Delay any retries for 3 seconds, then handle as if it * were a timeout. |