In preparation for the removal of rpc_call_setup().

Signed-off-by: Trond Myklebust <[EMAIL PROTECTED]>
---

 net/sunrpc/clnt.c  |   11 ++++-------
 net/sunrpc/sched.c |   11 +++++++++++
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 7aeffee..6eb79c4 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -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 */
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 0adbddb..76c834d 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -849,6 +849,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;
 
-
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to