rdma: dump outstanding requests from rqpairs

If this happens, we have something going seriously wrong and we need as
much debug information as we can get.

Change-Id: I305512790461443316b9f231fa2afeb69593af1b
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/438097
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Seth Howell 2018-12-21 10:56:34 -07:00 committed by Jim Harris
parent 8c4ed83b49
commit fa757dc96d

View File

@ -583,6 +583,28 @@ spdk_nvmf_rdma_cur_queue_depth(struct spdk_nvmf_rdma_qpair *rqpair)
rqpair->state_cntr[RDMA_REQUEST_STATE_FREE]; rqpair->state_cntr[RDMA_REQUEST_STATE_FREE];
} }
static void
nvmf_rdma_dump_request(struct spdk_nvmf_rdma_request *req)
{
SPDK_ERRLOG("\t\tRequest Data From Pool: %d\n", req->data_from_pool);
SPDK_ERRLOG("\t\tRequest opcode: %d\n", req->req.cmd->nvmf_cmd.opcode);
SPDK_ERRLOG("\t\tRequest recv wr_id%lu\n", req->recv->wr.wr_id);
}
static void
nvmf_rdma_dump_qpair_contents(struct spdk_nvmf_rdma_qpair *rqpair)
{
int i;
struct spdk_nvmf_rdma_request *req;
SPDK_ERRLOG("Dumping contents of queue pair (QID %d)\n", rqpair->qpair.qid);
for (i = 1; i < RDMA_REQUEST_NUM_STATES; i++) {
SPDK_ERRLOG("\tdumping requests in state %d\n", i);
TAILQ_FOREACH(req, &rqpair->state_queue[i], state_link) {
nvmf_rdma_dump_request(req);
}
}
}
static void static void
spdk_nvmf_rdma_qpair_destroy(struct spdk_nvmf_rdma_qpair *rqpair) spdk_nvmf_rdma_qpair_destroy(struct spdk_nvmf_rdma_qpair *rqpair)
{ {
@ -596,6 +618,7 @@ spdk_nvmf_rdma_qpair_destroy(struct spdk_nvmf_rdma_qpair *rqpair)
qd = spdk_nvmf_rdma_cur_queue_depth(rqpair); qd = spdk_nvmf_rdma_cur_queue_depth(rqpair);
if (qd != 0) { if (qd != 0) {
nvmf_rdma_dump_qpair_contents(rqpair);
SPDK_WARNLOG("Destroying qpair when queue depth is %d\n", qd); SPDK_WARNLOG("Destroying qpair when queue depth is %d\n", qd);
} }