Commit 486f46e8 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

nvme_rdma: Call disconnected_qpair_cb when qpair is in disconnected_qpairs list



We want to call disconnected_qpairs_cb only if qpair is actually
disconnected. When we disconnect qpair asynchronously, for qpairs in
the group->disconnected_qpairs list, we want to poll them until
actually disconnected and then call disconnected_qpairs_cb for them.

As a preparation, call disconnected_qpair_cb only for qpairs which is
in the group->disconnected_qpairs list.

For TCP and PCIe transports, disconnecting qpair will continue to be
synchronous for now.

So we change only RDMA transport.

Signed-off-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ifaf6157e1e02fa13f52a66409c9e60fc814d71dd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11495


Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 0fba8dc8
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2751,7 +2751,6 @@ nvme_rdma_poll_group_process_completions(struct spdk_nvme_transport_poll_group *

		if (spdk_unlikely(qpair->transport_failure_reason != SPDK_NVME_QPAIR_FAILURE_NONE)) {
			nvme_rdma_fail_qpair(qpair, 0);
			disconnected_qpair_cb(qpair, tgroup->group->ctx);
			continue;
		}
		num_qpairs++;