aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2014-03-20 12:59:09 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-03-20 13:38:44 -0400
commit494314c415e2d3b308f57c9245ae6525166c70b8 (patch)
tree4ffa4f99c92936a7edd95ac3c3bc3807d8e1112c /net
parent6bd144160a5554e4af052c153a094c4851a4c6aa (diff)
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')
-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)
1363 if (RPC_ASSASSINATED(task)) 1363 if (RPC_ASSASSINATED(task))
1364 return 0; 1364 return 0;
1365 task->tk_action = call_start; 1365 task->tk_action = call_start;
1366 task->tk_status = 0;
1366 if (task->tk_ops->rpc_call_prepare != NULL) 1367 if (task->tk_ops->rpc_call_prepare != NULL)
1367 task->tk_action = rpc_prepare_task; 1368 task->tk_action = rpc_prepare_task;
1368 return 1; 1369 return 1;
@@ -1379,6 +1380,7 @@ rpc_restart_call(struct rpc_task *task)
1379 if (RPC_ASSASSINATED(task)) 1380 if (RPC_ASSASSINATED(task))
1380 return 0; 1381 return 0;
1381 task->tk_action = call_start; 1382 task->tk_action = call_start;
1383 task->tk_status = 0;
1382 return 1; 1384 return 1;
1383} 1385}
1384EXPORT_SYMBOL_GPL(rpc_restart_call); 1386EXPORT_SYMBOL_GPL(rpc_restart_call);