SUNRPC: Ensure call_status() deals correctly with SOFTCONN tasks
authorTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 19 Mar 2014 17:25:43 +0000 (13:25 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 19 Mar 2014 21:19:42 +0000 (17:19 -0400)
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/clnt.c

index cea1308a6fda78ce1d691570cd3abf3bceaa6ffc..ef96568902c5bdbf057bf5bc9703b547c372a706 100644 (file)
@@ -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.