Commit 8f5cd346 authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

nvmf/rdma: Pass a message to the owning thread on qpair disconnect



This was the only usage of spdk_nvmf_qpair_disconnect that
was not being called from the owning thread. Send a message
here so that spdk_nvmf_qpair_disconnect can be simplified
later.

Change-Id: Ic5fae4503a95f7183079a02544812a9fc5d4def5
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/424592


Reviewed-by: default avatarSeth Howell <seth.howell5141@gmail.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
parent 3f229f0e
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -961,6 +961,14 @@ nvmf_rdma_connect(struct spdk_nvmf_transport *transport, struct rdma_cm_event *e
	return 0;
}

static void
_nvmf_rdma_disconnect(void *ctx)
{
	struct spdk_nvmf_qpair *qpair = ctx;

	spdk_nvmf_qpair_disconnect(qpair, NULL, NULL);
}

static int
nvmf_rdma_disconnect(struct rdma_cm_event *evt)
{
@@ -982,7 +990,7 @@ nvmf_rdma_disconnect(struct rdma_cm_event *evt)
	spdk_trace_record(TRACE_RDMA_QP_DISCONNECT, 0, 0, (uintptr_t)rqpair->cm_id, 0);
	spdk_nvmf_rdma_update_ibv_state(rqpair);

	spdk_nvmf_qpair_disconnect(qpair, NULL, NULL);
	spdk_thread_send_msg(qpair->group->thread, _nvmf_rdma_disconnect, qpair);

	return 0;
}