Skip to content

Commit

Permalink
SUNRPC: Allow rpc_init_task() to initialise the rpc_task->tk_msg
Browse files Browse the repository at this point in the history
In preparation for the removal of rpc_call_setup().

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
  • Loading branch information
Trond Myklebust authored and Trond Myklebust committed Jan 30, 2008
1 parent 77de2c5 commit b3ef8b3
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
11 changes: 4 additions & 7 deletions net/sunrpc/clnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -540,13 +540,10 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data)
goto out;
}

if (task_setup_data->rpc_message != NULL) {
rpc_call_setup(task, task_setup_data->rpc_message, 0);
if (task->tk_status != 0) {
ret = ERR_PTR(task->tk_status);
rpc_put_task(task);
goto out;
}
if (task->tk_status != 0) {
ret = ERR_PTR(task->tk_status);
rpc_put_task(task);
goto out;
}
atomic_inc(&task->tk_count);
/* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */
Expand Down
11 changes: 11 additions & 0 deletions net/sunrpc/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -848,6 +848,17 @@ void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *task_setu
if (task->tk_ops->rpc_call_prepare != NULL)
task->tk_action = rpc_prepare_task;

if (task_setup_data->rpc_message != NULL) {
memcpy(&task->tk_msg, task_setup_data->rpc_message, sizeof(task->tk_msg));
/* Bind the user cred */
if (task->tk_msg.rpc_cred != NULL)
rpcauth_holdcred(task);
else
rpcauth_bindcred(task);
if (task->tk_action == NULL)
rpc_call_start(task);
}

/* starting timestamp */
task->tk_start = jiffies;

Expand Down

0 comments on commit b3ef8b3

Please sign in to comment.