97277e1459
The NVMe bdev module enables asynchronous IO QP creation by default, after calling `spdk_nvme_ctrlr_alloc_io_qpair` and `spdk_nvme_ctrlr_connect_io_qpair`, the queue pair is in connecting state at the beginning, then users may call `spdk_nvme_ctrlr_free_io_qpair` immediately, and the common layer will change queue state to NVME_QPAIR_DISCONNECTING and NVME_QPAIR_DESTROYING, so in function `nvme_pcie_ctrlr_delete_io_qpair` the workaround to wait for create cq/sq callbacks will not be called, instead of using the common layer queue state here, we should use the internal `pcie_state`. Fix #2245. Change-Id: I801caf26563464b135035bf7fa2f63def13de9f4 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10445 Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Monica Kenguva <monica.kenguva@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
Makefile | ||
nvme_ctrlr_cmd.c | ||
nvme_ctrlr_ocssd_cmd.c | ||
nvme_ctrlr.c | ||
nvme_cuse.c | ||
nvme_cuse.h | ||
nvme_fabric.c | ||
nvme_internal.h | ||
nvme_io_msg.c | ||
nvme_io_msg.h | ||
nvme_ns_cmd.c | ||
nvme_ns_ocssd_cmd.c | ||
nvme_ns.c | ||
nvme_opal_internal.h | ||
nvme_opal.c | ||
nvme_pcie_common.c | ||
nvme_pcie_internal.h | ||
nvme_pcie.c | ||
nvme_poll_group.c | ||
nvme_qpair.c | ||
nvme_quirks.c | ||
nvme_rdma.c | ||
nvme_tcp.c | ||
nvme_transport.c | ||
nvme_vfio_user.c | ||
nvme_zns.c | ||
nvme.c | ||
spdk_nvme.map |