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:
parent
8c4ed83b49
commit
fa757dc96d
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user