Spdk/lib/nvme
Jim Harris d6f6ffd274 nvme: add NVME_CTRLR_STATE_CONNECT_ADMINQ
Connect the adminq as part of controller initialization
instead of controller construction.

We never actually 'connected' the adminq for
PCIe or vfio-user transports, since its a nop.
But their connect_qpair transport ops function
is also a nop for the adminq, so it's fine to
generically connect the adminq across all transports.

Note that we cannot read registers (cc or csts)
during controller initialization now until after
the adminq has been connected since reading fabrics
registers depends on a connected adminq.  This gets
special cased for now, but eventually reading
cc and csts will need to be part of the state machine
itself to make it asynchronous.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia5566d7c549d78d24b94ea253df51e697da6237f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8079
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2021-06-01 07:43:12 +00:00
..
Makefile lib/nvme: Add support for Simple Copy Command 2021-05-14 09:59:54 +00:00
nvme_ctrlr_cmd.c nvme/ctrlr: Always access namespaces via getter function 2021-05-20 15:17:41 +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: add NVME_CTRLR_STATE_CONNECT_ADMINQ 2021-06-01 07:43:12 +00:00
nvme_cuse.c nvme/cuse: add subsystem reset IOCTL support 2021-05-28 07:20:23 +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: init discovery ctrlr using nvme_ctrlr_process_init 2021-05-28 08:14:06 +00:00
nvme_internal.h nvme: add NVME_CTRLR_STATE_CONNECT_ADMINQ 2021-06-01 07:43:12 +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 nvme/quirk: add MDTS excludes interleaved metadata quirk 2021-03-29 07:38:37 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c lib/opal: remove deprecated spdk_opal_supported() 2021-03-18 14:43:08 +00:00
nvme_pcie_common.c nvme/pcie: Add statistics per poll group 2021-04-13 21:30:52 +00:00
nvme_pcie_internal.h nvme/pcie: Add support for Persistent Memory Region (PMR) 2021-04-22 20:10:21 +00:00
nvme_pcie.c nvme: add NVME_CTRLR_STATE_READ_CAP 2021-05-28 08:14:06 +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: add spdk_nvme_qpair_get_id 2021-02-17 10:17:43 +00:00
nvme_quirks.c nvme: remove IDENTIFY_CNS quirk from normal QEMU SSDs 2021-04-29 07:09:43 +00:00
nvme_rdma.c nvme: add NVME_CTRLR_STATE_CONNECT_ADMINQ 2021-06-01 07:43:12 +00:00
nvme_tcp.c nvme: add NVME_CTRLR_STATE_CONNECT_ADMINQ 2021-06-01 07:43:12 +00:00
nvme_transport.c nvme/pcie: Add support for Persistent Memory Region (PMR) 2021-04-22 20:10:21 +00:00
nvme_vfio_user.c nvme: add NVME_CTRLR_STATE_READ_CAP 2021-05-28 08:14:06 +00:00
nvme_zns.c nvme: Move nsdata_zns to namespace structure 2021-03-02 08:06:15 +00:00
nvme.c lib: add a hotplug lib for device 2021-04-12 09:48:21 +00:00
spdk_nvme.map lib/nvme: Add support for Simple Copy Command 2021-05-14 09:59:54 +00:00