+5
−0
Loading
nvme_transport_ctrlr_connect_qpair() calls nvme_transport_ctrlr_disconnect_qpair() if failed. If async qpair disconnect is supported, even when connect qpair failed, nvme_transport_ctrlr_connect_qpair() may complete asynchronously later. The cases that qpair->async is set to true are I/O qpair for the NVMe bdev module and admin qpair. example/nvme/perf and example/nvme/reconnect use I/O qpair but both set qpair->async to false. For the NVMe bdev module, I/O qpair is connected when creating I/O channel or resetting ctrlr. If spdk_nvme_ctrlr_connect_io_qpair() returns 0 for a I/O qpair, the qpair is in a poll group and is polled by spdk_nvme_poll_group_process_completions() and a disconnected callback is called to the qpair. Hence we do not need to add additional polling for I/O qpair in the NVMe bdev module. Signed-off-by:Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I6e0aadcfd98e5cb77b362ef1a79e0eca2985f36e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11112 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:
Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com>