summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/clnt.c
diff options
context:
space:
mode:
authorTrond Myklebust2014-03-19 18:25:43 +0100
committerTrond Myklebust2014-03-19 22:19:42 +0100
commit9455e3f43b017f560daf4289d0fa295a33976f2a (patch)
tree5f524a49dbcfd78a3f91a772ec5471f42340b542 /net/sunrpc/clnt.c
parentNFSv4: Ensure we respect soft mount timeouts during trunking discovery (diff)
downloadkernel-qcow2-linux-9455e3f43b017f560daf4289d0fa295a33976f2a.tar.gz
kernel-qcow2-linux-9455e3f43b017f560daf4289d0fa295a33976f2a.tar.xz
kernel-qcow2-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.c4
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.