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: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Iaf72cfca0b5b3ba223d86e267da8069d43a15292 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11439 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
df7c2a2253
commit
0c77cf90bf
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user