nvme_rdma: more cm_event validation to a helper function.
This step is going to become more involved, so it's best to keep it in a separate function entirely. Change-Id: Iefa9860420edf28e858c4ed8aa932985c686cfd9 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/473060 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
b35dfa2bd2
commit
208fbb675c
@ -352,6 +352,23 @@ nvme_rdma_poll_events(struct nvme_rdma_ctrlr *rctrlr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
nvme_rdma_validate_cm_event(enum rdma_cm_event_type expected_evt_type,
|
||||||
|
struct rdma_cm_event *reaped_evt)
|
||||||
|
{
|
||||||
|
int rc = -EBADMSG;
|
||||||
|
|
||||||
|
if (expected_evt_type == reaped_evt->event) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
SPDK_ERRLOG("Expected %s but received %s (%d) from CM event channel (status = %d)\n",
|
||||||
|
nvme_rdma_cm_event_str_get(expected_evt_type),
|
||||||
|
nvme_rdma_cm_event_str_get(reaped_evt->event), reaped_evt->event,
|
||||||
|
reaped_evt->status);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
nvme_rdma_process_event(struct nvme_rdma_qpair *rqpair,
|
nvme_rdma_process_event(struct nvme_rdma_qpair *rqpair,
|
||||||
struct rdma_event_channel *channel,
|
struct rdma_event_channel *channel,
|
||||||
@ -385,13 +402,7 @@ nvme_rdma_process_event(struct nvme_rdma_qpair *rqpair,
|
|||||||
return -EADDRNOTAVAIL;
|
return -EADDRNOTAVAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rqpair->evt->event != evt) {
|
rc = nvme_rdma_validate_cm_event(evt, rqpair->evt);
|
||||||
SPDK_ERRLOG("Expected %s but received %s (%d) from CM event channel (status = %d)\n",
|
|
||||||
nvme_rdma_cm_event_str_get(evt),
|
|
||||||
nvme_rdma_cm_event_str_get(rqpair->evt->event), rqpair->evt->event,
|
|
||||||
rqpair->evt->status);
|
|
||||||
rc = -EBADMSG;
|
|
||||||
}
|
|
||||||
|
|
||||||
rc2 = nvme_rdma_qpair_process_cm_event(rqpair);
|
rc2 = nvme_rdma_qpair_process_cm_event(rqpair);
|
||||||
/* bad message takes precedence over the other error codes from processing the event. */
|
/* bad message takes precedence over the other error codes from processing the event. */
|
||||||
|
Loading…
Reference in New Issue
Block a user