Commit 0c77cf90 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

nvme_rdma: Consolidate fail_qpair() calls into a single place



For nvme_rdma_qpair_process_completions(), consolidate the operations to
call nvme_rdma_fail_qpair() and return -ENXIO into a single place.

Besides, shorten pointer references for
nvme_rdma_qpair_process_completions() and
nvme_rdma_poll_group_process_completions().

These will make the following patches a little easier.

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


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent df7c2a22
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -2356,9 +2356,9 @@ nvme_rdma_qpair_process_completions(struct spdk_nvme_qpair *qpair,
				    uint32_t max_completions)
{
	struct nvme_rdma_qpair		*rqpair = nvme_rdma_qpair(qpair);
	struct nvme_rdma_ctrlr		*rctrlr = nvme_rdma_ctrlr(qpair->ctrlr);
	int				rc = 0, batch_size;
	struct ibv_cq			*cq;
	struct nvme_rdma_ctrlr		*rctrlr;
	uint64_t			rdma_completions = 0;

	/*
@@ -2377,15 +2377,13 @@ nvme_rdma_qpair_process_completions(struct spdk_nvme_qpair *qpair,
		max_completions = spdk_min(max_completions, rqpair->num_entries);
	}

	if (nvme_qpair_is_admin_queue(&rqpair->qpair)) {
		rctrlr = nvme_rdma_ctrlr(rqpair->qpair.ctrlr);
	if (nvme_qpair_is_admin_queue(qpair)) {
		nvme_rdma_poll_events(rctrlr);
	}
	nvme_rdma_qpair_process_cm_event(rqpair);

	if (spdk_unlikely(qpair->transport_failure_reason != SPDK_NVME_QPAIR_FAILURE_NONE)) {
		nvme_rdma_fail_qpair(qpair, 0);
		return -ENXIO;
		goto failed;
	}

	cq = rqpair->cq;
@@ -2399,8 +2397,7 @@ nvme_rdma_qpair_process_completions(struct spdk_nvme_qpair *qpair,
			break;
			/* Handle the case where we fail to poll the cq. */
		} else if (rc == -ECANCELED) {
			nvme_rdma_fail_qpair(qpair, 0);
			return -ENXIO;
			goto failed;
		} else if (rc == -ENXIO) {
			return rc;
		}
@@ -2408,15 +2405,18 @@ nvme_rdma_qpair_process_completions(struct spdk_nvme_qpair *qpair,

	if (spdk_unlikely(nvme_rdma_qpair_submit_sends(rqpair) ||
			  nvme_rdma_qpair_submit_recvs(rqpair))) {
		nvme_rdma_fail_qpair(qpair, 0);
		return -ENXIO;
		goto failed;
	}

	if (spdk_unlikely(rqpair->qpair.ctrlr->timeout_enabled)) {
	if (spdk_unlikely(qpair->ctrlr->timeout_enabled)) {
		nvme_rdma_qpair_check_timeout(qpair);
	}

	return rqpair->num_completions;

failed:
	nvme_rdma_fail_qpair(qpair, 0);
	return -ENXIO;
}

static uint32_t
@@ -2792,7 +2792,7 @@ nvme_rdma_poll_group_process_completions(struct spdk_nvme_transport_poll_group *
		nvme_rdma_qpair_submit_sends(rqpair);
		nvme_rdma_qpair_submit_recvs(rqpair);
		if (rqpair->num_completions > 0) {
			nvme_qpair_resubmit_requests(&rqpair->qpair, rqpair->num_completions);
			nvme_qpair_resubmit_requests(qpair, rqpair->num_completions);
		}
	}