Fix: sunrpc: use signed integer for client id
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 12 Dec 2019 15:29:37 +0000 (10:29 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 12 Dec 2019 15:45:54 +0000 (10:45 -0500)
Within include/linux/sunrpc/clnt.h:struct rpc_cltn, the cl_clid field
is an unsigned integer, which is the type expected by the tracepoint
signature.

However, looking into net/sunrpc/clnt.c:rpc_alloc_clid(), its allocation
considers negative signed integer as errors.

Therefore, in order to properly show "-1" in the trace output (rather
than MAX_INT) when called with a NULL task->tk_client, move to a
signed integer as backing type for the client_id field.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/events/lttng-module/rpc.h

index b8e4ae60d8919873f706b06d066da866baf62b8d..4dd9cabf56ab8e508f1ea59c53666f263bc94be8 100644 (file)
@@ -17,7 +17,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+               ctf_integer(int, client_id, task->tk_client->cl_clid)
                ctf_integer(int, status, task->tk_status)
        )
 )
@@ -42,7 +42,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_status,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+               ctf_integer(int, client_id, task->tk_client->cl_clid)
                ctf_integer(int, status, task->tk_status)
        )
 )
@@ -99,7 +99,7 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+               ctf_integer(int, client_id, task->tk_client->cl_clid)
                ctf_integer(int, status, task->tk_status)
        )
 )
@@ -111,7 +111,7 @@ LTTNG_TRACEPOINT_EVENT(rpc_connect_status,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+               ctf_integer(int, client_id, task->tk_client->cl_clid)
                ctf_integer(int, status, status)
        )
 )
@@ -138,7 +138,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client ? task->tk_client->cl_clid : -1)
+               ctf_integer(int, client_id, task->tk_client ?
+                       task->tk_client->cl_clid : -1)
                ctf_integer_hex(const void *, action, action)
                ctf_integer(unsigned long, runstate, task->tk_runstate)
                ctf_integer(int, status, task->tk_status)
@@ -175,7 +176,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client ?
+               ctf_integer(int, client_id, task->tk_client ?
                                task->tk_client->cl_clid : -1)
                ctf_integer(unsigned long, timeout, task->tk_timeout)
                ctf_integer(unsigned long, runstate, task->tk_runstate)
@@ -208,7 +209,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_running,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client ? task->tk_client->cl_clid : -1)
+               ctf_integer(int, client_id, task->tk_client ?
+                       task->tk_client->cl_clid : -1)
                ctf_integer_hex(const void *, action, action)
                ctf_integer(unsigned long, runstate, task->tk_runstate)
                ctf_integer(int, status, task->tk_status)
@@ -245,7 +247,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(rpc_task_queued,
 
        TP_FIELDS(
                ctf_integer(unsigned int, task_id, task->tk_pid)
-               ctf_integer(unsigned int, client_id, task->tk_client->cl_clid)
+               ctf_integer(int, client_id, task->tk_client ?
+                       task->tk_client->cl_clid : -1)
                ctf_integer(unsigned long, timeout, task->tk_timeout)
                ctf_integer(unsigned long, runstate, task->tk_runstate)
                ctf_integer(int, status, task->tk_status)
This page took 0.026557 seconds and 4 git commands to generate.