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

Commit 3748f1e4 authored by Chuck Lever's avatar Chuck Lever Committed by Trond Myklebust
Browse files

SUNRPC: Add a function to display the name of an RPC procedure



Improve debugging messages in call_start() and call_verify() by having
them show the RPC procedure name instead of the procedure number.

Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 6fb1bc10
Loading
Loading
Loading
Loading
+19 −4
Original line number Original line Diff line number Diff line
@@ -690,6 +690,21 @@ rpc_restart_call(struct rpc_task *task)
}
}
EXPORT_SYMBOL_GPL(rpc_restart_call);
EXPORT_SYMBOL_GPL(rpc_restart_call);


#ifdef RPC_DEBUG
static const char *rpc_proc_name(const struct rpc_task *task)
{
	const struct rpc_procinfo *proc = task->tk_msg.rpc_proc;

	if (proc) {
		if (proc->p_name)
			return proc->p_name;
		else
			return "NULL";
	} else
		return "no proc";
}
#endif

/*
/*
 * 0.  Initial state
 * 0.  Initial state
 *
 *
@@ -701,9 +716,9 @@ call_start(struct rpc_task *task)
{
{
	struct rpc_clnt	*clnt = task->tk_client;
	struct rpc_clnt	*clnt = task->tk_client;


	dprintk("RPC: %5u call_start %s%d proc %d (%s)\n", task->tk_pid,
	dprintk("RPC: %5u call_start %s%d proc %s (%s)\n", task->tk_pid,
			clnt->cl_protname, clnt->cl_vers,
			clnt->cl_protname, clnt->cl_vers,
			task->tk_msg.rpc_proc->p_proc,
			rpc_proc_name(task),
			(RPC_IS_ASYNC(task) ? "async" : "sync"));
			(RPC_IS_ASYNC(task) ? "async" : "sync"));


	/* Increment call count */
	/* Increment call count */
@@ -1432,10 +1447,10 @@ call_verify(struct rpc_task *task)
		error = -EPROTONOSUPPORT;
		error = -EPROTONOSUPPORT;
		goto out_err;
		goto out_err;
	case RPC_PROC_UNAVAIL:
	case RPC_PROC_UNAVAIL:
		dprintk("RPC: %5u %s: proc %p unsupported by program %u, "
		dprintk("RPC: %5u %s: proc %s unsupported by program %u, "
				"version %u on server %s\n",
				"version %u on server %s\n",
				task->tk_pid, __func__,
				task->tk_pid, __func__,
				task->tk_msg.rpc_proc,
				rpc_proc_name(task),
				task->tk_client->cl_prog,
				task->tk_client->cl_prog,
				task->tk_client->cl_vers,
				task->tk_client->cl_vers,
				task->tk_client->cl_server);
				task->tk_client->cl_server);