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

Commit 38e886e0 authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust
Browse files

SUNRPC: Refactor rpc_show_tasks



Clean up: move the logic that displays each task to its own function.
This removes indentation and makes future changes easier.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 68a23ee9
Loading
Loading
Loading
Loading
+24 −22
Original line number Diff line number Diff line
@@ -1532,40 +1532,42 @@ static void rpc_show_header(void)
		"-timeout -rpcwait -action- ---ops--\n");
}

static void rpc_show_task(const struct rpc_clnt *clnt,
			  const struct rpc_task *task)
{
	const char *rpc_waitq = "none";
	int proc = -1;

	if (task->tk_msg.rpc_proc)
		proc = task->tk_msg.rpc_proc->p_proc;

	if (RPC_IS_QUEUED(task))
		rpc_waitq = rpc_qname(task->tk_waitqueue);

	printk(KERN_INFO "%5u %04d %04x %6d %8p %6d %8p %8ld %8s %8p %8p\n",
		task->tk_pid, proc,
		task->tk_flags, task->tk_status,
		clnt, clnt->cl_prog,
		task->tk_rqstp, task->tk_timeout,
		rpc_waitq,
		task->tk_action, task->tk_ops);
}

void rpc_show_tasks(void)
{
	struct rpc_clnt *clnt;
	struct rpc_task *t;
	struct rpc_task *task;
	int header = 0;

	spin_lock(&rpc_client_lock);
	list_for_each_entry(clnt, &all_clients, cl_clients) {
		spin_lock(&clnt->cl_lock);
		list_for_each_entry(t, &clnt->cl_tasks, tk_task) {
			const char *rpc_waitq = "none";
			int proc;

		list_for_each_entry(task, &clnt->cl_tasks, tk_task) {
			if (!header) {
				rpc_show_header();
				header++;
			}

			if (t->tk_msg.rpc_proc)
				proc = t->tk_msg.rpc_proc->p_proc;
			else
				proc = -1;

			if (RPC_IS_QUEUED(t))
				rpc_waitq = rpc_qname(t->tk_waitqueue);

			printk("%5u %04d %04x %6d %8p %6d %8p %8ld %8s %8p %8p\n",
				t->tk_pid, proc,
				t->tk_flags, t->tk_status,
				t->tk_client,
				(t->tk_client ? t->tk_client->cl_prog : 0),
				t->tk_rqstp, t->tk_timeout,
				rpc_waitq,
				t->tk_action, t->tk_ops);
			rpc_show_task(clnt, task);
		}
		spin_unlock(&clnt->cl_lock);
	}