Commit ba323d44 authored by lorneli's avatar lorneli Committed by Ben Walker
Browse files

nvmf/rdma: log spdk_nvmf_rdma_destroy_defunct_qpair



Func spdk_nvmf_rdma_destroy_defunct_qpair is a "last chance option"
to destroy qp manually if some driver/hardware doesn't drain qp's
failed wr as expected.

There's a probability that ibv_poll_cq polls wr of the destoryed qp
after spdk_nvmf_rdma_destroy_defunct_qpair's execution. Although in
practice the risk of this situation is minimal(if not non-existent),
add a log here so that we could detect this situation easily.

Change-Id: Ifa9534397513bcea34c18fbb8168eef8f53599c1
Signed-off-by: default avatarlorneli <lorneli@163.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462441


Reviewed-by: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent b4d30668
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3185,6 +3185,9 @@ spdk_nvmf_rdma_destroy_defunct_qpair(void *ctx)
	struct spdk_nvmf_rdma_transport *rtransport = SPDK_CONTAINEROF(rqpair->qpair.transport,
			struct spdk_nvmf_rdma_transport, transport);

	SPDK_INFOLOG(SPDK_LOG_RDMA, "QP#%d hasn't been drained as expected, manually destroy it\n",
		     rqpair->qpair.qid);

	spdk_nvmf_rdma_qpair_process_pending(rtransport, rqpair, true);
	spdk_nvmf_rdma_qpair_destroy(rqpair);