summaryrefslogtreecommitdiffstats
path: root/net/sunrpc
diff options
context:
space:
mode:
authorTrond Myklebust2014-03-20 17:59:09 +0100
committerTrond Myklebust2014-03-20 18:38:44 +0100
commit494314c415e2d3b308f57c9245ae6525166c70b8 (patch)
tree4ffa4f99c92936a7edd95ac3c3bc3807d8e1112c /net/sunrpc
parentSUNRPC: Don't let rpc_delay() clobber non-timeout errors (diff)
downloadkernel-qcow2-linux-494314c415e2d3b308f57c9245ae6525166c70b8.tar.gz
kernel-qcow2-linux-494314c415e2d3b308f57c9245ae6525166c70b8.tar.xz
kernel-qcow2-linux-494314c415e2d3b308f57c9245ae6525166c70b8.zip
SUNRPC: rpc_restart_call/rpc_restart_call_prepare should clear task->tk_status
When restarting an rpc call, we should not be carrying over data from the previous call. Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'net/sunrpc')
-rw-r--r--net/sunrpc/clnt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 62f86793b708..f400445d1a44 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1363,6 +1363,7 @@ rpc_restart_call_prepare(struct rpc_task *task)
if (RPC_ASSASSINATED(task))
return 0;
task->tk_action = call_start;
+ task->tk_status = 0;
if (task->tk_ops->rpc_call_prepare != NULL)
task->tk_action = rpc_prepare_task;
return 1;
@@ -1379,6 +1380,7 @@ rpc_restart_call(struct rpc_task *task)
if (RPC_ASSASSINATED(task))
return 0;
task->tk_action = call_start;
+ task->tk_status = 0;
return 1;
}
EXPORT_SYMBOL_GPL(rpc_restart_call);