Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b3ef8b3b authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: Allow rpc_init_task() to initialise the rpc_task->tk_msg



In preparation for the removal of rpc_call_setup().

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 77de2c59
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -540,14 +540,11 @@ 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;
	}
	}
	atomic_inc(&task->tk_count);
	/* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */
	rpc_task_sigmask(task, &oldset);
+11 −0
Original line number Diff line number Diff line
@@ -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;