提交 e60859ac 编写于 作者: T Trond Myklebust

SUNRPC: rpc_execute should not return task->tk_status;

Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
上级 89991c24
...@@ -446,14 +446,15 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) ...@@ -446,14 +446,15 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
rpc_call_setup(task, msg, 0); rpc_call_setup(task, msg, 0);
/* Set up the call info struct and execute the task */ /* Set up the call info struct and execute the task */
if (task->tk_status == 0) { status = task->tk_status;
if (status == 0) {
atomic_inc(&task->tk_count);
status = rpc_execute(task); status = rpc_execute(task);
} else { if (status == 0)
status = task->tk_status; status = task->tk_status;
rpc_release_task(task);
} }
rpc_restore_sigmask(&oldset); rpc_restore_sigmask(&oldset);
rpc_release_task(task);
out: out:
return status; return status;
} }
......
...@@ -694,9 +694,7 @@ static int __rpc_execute(struct rpc_task *task) ...@@ -694,9 +694,7 @@ static int __rpc_execute(struct rpc_task *task)
dprintk("RPC: %4d sync task resuming\n", task->tk_pid); dprintk("RPC: %4d sync task resuming\n", task->tk_pid);
} }
dprintk("RPC: %4d exit() = %d\n", task->tk_pid, task->tk_status); dprintk("RPC: %4d, return %d, status %d\n", task->tk_pid, status, task->tk_status);
status = task->tk_status;
/* Wake up anyone who is waiting for task completion */ /* Wake up anyone who is waiting for task completion */
rpc_mark_complete_task(task); rpc_mark_complete_task(task);
/* Release all resources associated with the task */ /* Release all resources associated with the task */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册