diff options
Diffstat (limited to 'net/sunrpc/sched.c')
-rw-r--r-- | net/sunrpc/sched.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index b9061bcf6fc..fa53a88b2c5 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c | |||
@@ -848,6 +848,17 @@ void rpc_init_task(struct rpc_task *task, const struct rpc_task_setup *task_setu | |||
848 | if (task->tk_ops->rpc_call_prepare != NULL) | 848 | if (task->tk_ops->rpc_call_prepare != NULL) |
849 | task->tk_action = rpc_prepare_task; | 849 | task->tk_action = rpc_prepare_task; |
850 | 850 | ||
851 | if (task_setup_data->rpc_message != NULL) { | ||
852 | memcpy(&task->tk_msg, task_setup_data->rpc_message, sizeof(task->tk_msg)); | ||
853 | /* Bind the user cred */ | ||
854 | if (task->tk_msg.rpc_cred != NULL) | ||
855 | rpcauth_holdcred(task); | ||
856 | else | ||
857 | rpcauth_bindcred(task); | ||
858 | if (task->tk_action == NULL) | ||
859 | rpc_call_start(task); | ||
860 | } | ||
861 | |||
851 | /* starting timestamp */ | 862 | /* starting timestamp */ |
852 | task->tk_start = jiffies; | 863 | task->tk_start = jiffies; |
853 | 864 | ||