xprtrdma: Fix a BUG when tracing is enabled with NFSv4.1 on RDMA
authorChuck Lever <chuck.lever@oracle.com>
Wed, 19 Jun 2019 14:32:32 +0000 (10:32 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Tue, 2 Jul 2019 20:29:21 +0000 (16:29 -0400)
A backchannel reply does not set task->tk_client.

Fixes: 0c77668ddb4e ("SUNRPC: Introduce trace points in ... ")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
include/trace/events/rpcrdma.h

index df9851c..f0678e3 100644 (file)
@@ -559,7 +559,8 @@ TRACE_EVENT(xprtrdma_post_send,
                const struct rpc_rqst *rqst = &req->rl_slot;
 
                __entry->task_id = rqst->rq_task->tk_pid;
-               __entry->client_id = rqst->rq_task->tk_client->cl_clid;
+               __entry->client_id = rqst->rq_task->tk_client ?
+                                    rqst->rq_task->tk_client->cl_clid : -1;
                __entry->req = req;
                __entry->num_sge = req->rl_sendctx->sc_wr.num_sge;
                __entry->signaled = req->rl_sendctx->sc_wr.send_flags &