numam-spdk/lib/nvme
Ben Walker ea0aaf5e85 nvme: Transports now set qpair state to NVME_QPAIR_CONNECTED inside
.ctrlr_connect_qpair

Previously this was assumed to be a synchronous process so the generic
layer transport code updated the state after .ctrlr_connect_qpair
returned. In preparation for making this support asynchronous mode,
shift that responsibility down into the individual transports.

While none of the transports actually do this asynchronously, insert a
busy wait in nvme_transport_ctrlr_connect_qpair to wait for the qpair to
exit from the CONNECTING state. None of the upper layer code can
actually correct handle a transport doing this asynchronously, so the
busy wait will cover that.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I3c1a5c115264ffcb87e549765d891d796e0c81fe
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8909
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Monica Kenguva <monica.kenguva@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-07-28 07:04:00 +00:00
..
Makefile nvme: move spdk_nvme_map_cmd to nvmf/vfio-user 2021-07-13 16:53:42 +00:00
nvme_ctrlr_cmd.c lib/nvme: Do not retry aborts if ctrlr is failed. 2021-07-06 19:44:59 +00:00
nvme_ctrlr_ocssd_cmd.c nvme: Move nsdata to namespace structure 2021-03-02 08:06:15 +00:00
nvme_ctrlr.c nvme: Split nvme_ctrlr_reset() into discrete parts 2021-07-26 08:57:46 +00:00
nvme_cuse.c nvme_cuse: Return ENOTTY in case unsupported ioctl is sent to a device 2021-07-13 09:00:05 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c nvme/fabrics: Fix trid trstring populate 2021-07-05 14:45:11 +00:00
nvme_internal.h nvme: Add spdk_nvme_ctrlr_reset_async 2021-07-21 07:45:38 +00:00
nvme_io_msg.c nvme: only process io_msg in primary process 2021-04-22 01:06:02 +00:00
nvme_io_msg.h lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_ns_cmd.c lib/nvme: Add support for Simple Copy Command 2021-05-14 09:59:54 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c nvme/opal: check Security Protocol 00h before sending TCG SP 2021-06-04 19:57:36 +00:00
nvme_pcie_common.c nvme: Transports now set qpair state to NVME_QPAIR_CONNECTED inside 2021-07-28 07:04:00 +00:00
nvme_pcie_internal.h nvme/pcie: move nvme_pcie_qpair_submit_request() to pcie common layer 2021-06-08 08:28:44 +00:00
nvme_pcie.c nvme: Fix remove event processing bug 2021-07-13 09:07:23 +00:00
nvme_poll_group.c nvme: Add functions to get/free poll group statistics 2021-04-13 21:30:52 +00:00
nvme_qpair.c nvme: use spdk_strerror to report CQ transport errors 2021-07-05 14:45:34 +00:00
nvme_quirks.c nvme: add quirks for new RedHat QEMU NVMe dev/vendor ID 2021-06-11 07:22:10 +00:00
nvme_rdma.c nvme: Transports now set qpair state to NVME_QPAIR_CONNECTED inside 2021-07-28 07:04:00 +00:00
nvme_tcp.c nvme: Transports now set qpair state to NVME_QPAIR_CONNECTED inside 2021-07-28 07:04:00 +00:00
nvme_transport.c nvme: Transports now set qpair state to NVME_QPAIR_CONNECTED inside 2021-07-28 07:04:00 +00:00
nvme_vfio_user.c nvme/vfio-user: use the common request submission function 2021-06-09 07:21:31 +00:00
nvme_zns.c nvme: Move nsdata_zns to namespace structure 2021-03-02 08:06:15 +00:00
nvme.c nvme: Add a new option disable_read_ana_log_page to struct spdk_nvme_ctrlr_opts 2021-07-14 09:15:59 +00:00
spdk_nvme.map nvme: Add spdk_nvme_ctrlr_reset_async 2021-07-21 07:45:38 +00:00