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

Commit 2efef837 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

RPC: Clean up rpc_execute...



The error values are already propagated through task->tk_status, and
none of the callers check one without checking the other, so we can
drop the return value.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 54cc533a
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -253,7 +253,7 @@ void rpc_put_task(struct rpc_task *);
void		rpc_exit_task(struct rpc_task *);
void		rpc_exit_task(struct rpc_task *);
void		rpc_release_calldata(const struct rpc_call_ops *, void *);
void		rpc_release_calldata(const struct rpc_call_ops *, void *);
void		rpc_killall_tasks(struct rpc_clnt *);
void		rpc_killall_tasks(struct rpc_clnt *);
int		rpc_execute(struct rpc_task *);
void		rpc_execute(struct rpc_task *);
void		rpc_init_priority_wait_queue(struct rpc_wait_queue *, const char *);
void		rpc_init_priority_wait_queue(struct rpc_wait_queue *, const char *);
void		rpc_init_wait_queue(struct rpc_wait_queue *, const char *);
void		rpc_init_wait_queue(struct rpc_wait_queue *, const char *);
void		rpc_sleep_on(struct rpc_wait_queue *, struct rpc_task *,
void		rpc_sleep_on(struct rpc_wait_queue *, struct rpc_task *,
+5 −9
Original line number Original line Diff line number Diff line
@@ -486,17 +486,13 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
	/* Mask signals on RPC calls _and_ GSS_AUTH upcalls */
	/* Mask signals on RPC calls _and_ GSS_AUTH upcalls */
	rpc_task_sigmask(task, &oldset);
	rpc_task_sigmask(task, &oldset);


	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 */
	status = task->tk_status;
	rpc_call_setup(task, msg, 0);
	if (status != 0)
	if (task->tk_status == 0) {
		goto out;
		atomic_inc(&task->tk_count);
		atomic_inc(&task->tk_count);
	status = rpc_execute(task);
		rpc_execute(task);
	if (status == 0)
	}
	status = task->tk_status;
	status = task->tk_status;
out:
	rpc_put_task(task);
	rpc_put_task(task);
	rpc_restore_sigmask(&oldset);
	rpc_restore_sigmask(&oldset);
	return status;
	return status;
+5 −7
Original line number Original line Diff line number Diff line
@@ -625,7 +625,7 @@ void rpc_release_calldata(const struct rpc_call_ops *ops, void *calldata)
/*
/*
 * This is the RPC `scheduler' (or rather, the finite state machine).
 * This is the RPC `scheduler' (or rather, the finite state machine).
 */
 */
static int __rpc_execute(struct rpc_task *task)
static void __rpc_execute(struct rpc_task *task)
{
{
	int		status = 0;
	int		status = 0;


@@ -679,9 +679,9 @@ static int __rpc_execute(struct rpc_task *task)
		if (RPC_IS_ASYNC(task)) {
		if (RPC_IS_ASYNC(task)) {
			/* Careful! we may have raced... */
			/* Careful! we may have raced... */
			if (RPC_IS_QUEUED(task))
			if (RPC_IS_QUEUED(task))
				return 0;
				return;
			if (rpc_test_and_set_running(task))
			if (rpc_test_and_set_running(task))
				return 0;
				return;
			continue;
			continue;
		}
		}


@@ -710,7 +710,6 @@ static int __rpc_execute(struct rpc_task *task)
	dprintk("RPC: %4d, return %d, status %d\n", task->tk_pid, status, task->tk_status);
	dprintk("RPC: %4d, return %d, status %d\n", task->tk_pid, status, task->tk_status);
	/* Release all resources associated with the task */
	/* Release all resources associated with the task */
	rpc_release_task(task);
	rpc_release_task(task);
	return status;
}
}


/*
/*
@@ -722,12 +721,11 @@ static int __rpc_execute(struct rpc_task *task)
 *	 released. In particular note that tk_release() will have
 *	 released. In particular note that tk_release() will have
 *	 been called, so your task memory may have been freed.
 *	 been called, so your task memory may have been freed.
 */
 */
int
void rpc_execute(struct rpc_task *task)
rpc_execute(struct rpc_task *task)
{
{
	rpc_set_active(task);
	rpc_set_active(task);
	rpc_set_running(task);
	rpc_set_running(task);
	return __rpc_execute(task);
	__rpc_execute(task);
}
}


static void rpc_async_schedule(struct work_struct *work)
static void rpc_async_schedule(struct work_struct *work)