lib/nvme: always call the transport disconnect function.
The qpair states should be maintained at the generic level. Always going through the transport disconnect function is one step in that direction. Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I019b2b4a14fe192eff5293f918d633dde2c5400a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1851 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
9649ee09fa
commit
e1c9185005
@ -1688,7 +1688,7 @@ nvme_rdma_ctrlr_delete_io_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_
|
||||
if (!qpair) {
|
||||
return -1;
|
||||
}
|
||||
nvme_rdma_ctrlr_disconnect_qpair(ctrlr, qpair);
|
||||
nvme_transport_ctrlr_disconnect_qpair(ctrlr, qpair);
|
||||
nvme_rdma_qpair_abort_reqs(qpair, 1);
|
||||
nvme_qpair_deinit(qpair);
|
||||
|
||||
@ -2100,7 +2100,7 @@ fail:
|
||||
}
|
||||
|
||||
if (nvme_qpair_is_admin_queue(qpair)) {
|
||||
nvme_rdma_ctrlr_disconnect_qpair(qpair->ctrlr, qpair);
|
||||
nvme_transport_ctrlr_disconnect_qpair(qpair->ctrlr, qpair);
|
||||
} else {
|
||||
nvme_ctrlr_disconnect_qpair(qpair);
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ nvme_tcp_ctrlr_delete_io_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_q
|
||||
return -1;
|
||||
}
|
||||
|
||||
nvme_tcp_ctrlr_disconnect_qpair(ctrlr, qpair);
|
||||
nvme_transport_ctrlr_disconnect_qpair(ctrlr, qpair);
|
||||
nvme_tcp_qpair_abort_reqs(qpair, 1);
|
||||
nvme_qpair_deinit(qpair);
|
||||
tqpair = nvme_tcp_qpair(qpair);
|
||||
@ -305,7 +305,7 @@ _pdu_write_done(void *cb_arg, int err)
|
||||
TAILQ_REMOVE(&tqpair->send_queue, pdu, tailq);
|
||||
|
||||
if (err != 0) {
|
||||
nvme_tcp_ctrlr_disconnect_qpair(tqpair->qpair.ctrlr, &tqpair->qpair);
|
||||
nvme_transport_ctrlr_disconnect_qpair(tqpair->qpair.ctrlr, &tqpair->qpair);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1438,7 +1438,7 @@ fail:
|
||||
qpair->transport_failure_reason = SPDK_NVME_QPAIR_FAILURE_UNKNOWN;
|
||||
|
||||
if (nvme_qpair_is_admin_queue(qpair)) {
|
||||
nvme_tcp_ctrlr_disconnect_qpair(qpair->ctrlr, qpair);
|
||||
nvme_transport_ctrlr_disconnect_qpair(qpair->ctrlr, qpair);
|
||||
} else {
|
||||
nvme_ctrlr_disconnect_qpair(qpair);
|
||||
}
|
||||
|
@ -110,3 +110,5 @@ DEFINE_STUB(nvme_fabric_ctrlr_scan, int, (struct spdk_nvme_probe_ctx *probe_ctx,
|
||||
bool direct_connect), 0);
|
||||
DEFINE_STUB(nvme_fabric_qpair_connect, int, (struct spdk_nvme_qpair *qpair, uint32_t num_entries),
|
||||
0);
|
||||
DEFINE_STUB_V(nvme_transport_ctrlr_disconnect_qpair, (struct spdk_nvme_ctrlr *ctrlr,
|
||||
struct spdk_nvme_qpair *qpair));
|
||||
|
@ -47,9 +47,6 @@ DEFINE_STUB(spdk_mem_map_alloc, struct spdk_mem_map *, (uint64_t default_transla
|
||||
const struct spdk_mem_map_ops *ops, void *cb_ctx), NULL);
|
||||
DEFINE_STUB_V(spdk_mem_map_free, (struct spdk_mem_map **pmap));
|
||||
|
||||
DEFINE_STUB_V(nvme_transport_ctrlr_disconnect_qpair, (struct spdk_nvme_ctrlr *ctrlr,
|
||||
struct spdk_nvme_qpair *qpair));
|
||||
|
||||
/* used to mock out having to split an SGL over a memory region */
|
||||
uint64_t g_mr_size;
|
||||
struct ibv_mr g_nvme_rdma_mr;
|
||||
|
Loading…
Reference in New Issue
Block a user