Spdk/lib/nvme
Simon A. F. Lund ae6c40a4a5 lib/nvme: fallback to NVM when then given command_set is not supported
When the user requests a non-default command set configuration, via the
probe_cb() supplied to spdk_nvme_probe(), which is not supported, then
the controller initialization will not proceed.

This patch changes that behavior into falling back to the NVM command
set and continue with the controller initialization. It is done by
assigning the NVM command set to opts.command_set such that the user
knows in attach_cb() with which command_set the controller is
configured/enabled.

The fallback is needed since the user does not have access to the
controller capabilities register. The strategy left for the user is thus
to try. However, this is an issue, as the user only has one attempt, as
subsequent calls to spdk_nvme_probe() will not trigger probe_cb() for
the controllers whose initialization did not proceed.

Signed-off-by: Simon A. F. Lund <simon.lund@samsung.com>
Change-Id: Ia414628fcd7d56956649647775462e62d98c0a90
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2931
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2020-07-03 07:31:31 +00:00
..
Makefile mk/nvme/nvmf: Add deps for RDMA libs 2020-06-18 07:28:04 +00:00
nvme_ctrlr_cmd.c lib/nvme: Get ctrlr simply from req->qpair->ctrlr at spdk_nvme_ctrlr_cmd_abort() 2020-06-24 08:19:43 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c lib/nvme: fallback to NVM when then given command_set is not supported 2020-07-03 07:31:31 +00:00
nvme_cuse.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +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 lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_internal.h nvme: add security send/receive quirk for Intel 900P SSDs 2020-07-03 07:31:20 +00:00
nvme_io_msg.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +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: net, notify, nvme, rocksdb remove spdk_ prefix. 2020-05-21 09:19:00 +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 lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c lib/nvme: Remove inclusion of SPDK event library 2020-06-01 09:20:41 +00:00
nvme_pcie.c nvme: copy 8 bytes at a time into virtualized CMB 2020-07-02 07:21:38 +00:00
nvme_poll_group.c lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvme_qpair.c NVME: Fixes stuck IOs during hot remove (#1451) 2020-06-29 09:18:29 +00:00
nvme_quirks.c nvme: add security send/receive quirk for Intel 900P SSDs 2020-07-03 07:31:20 +00:00
nvme_rdma.c nvme_rdma: Add check for keyed SGL length 2020-07-02 07:21:31 +00:00
nvme_tcp.c nvme/tcp: Report that we have free entries if send_ack is set. 2020-07-01 07:51:17 +00:00
nvme_transport.c lib/nvme: rdma poll group with shared cq. 2020-06-04 07:20:16 +00:00
nvme_uevent.c lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme_uevent.h lib/nvme: remove spdk prefix from internal headers. 2020-06-01 13:07:30 +00:00
nvme.c nvme: solve the spdk_nvme_connect compatibilty issue. 2020-06-05 09:04:11 +00:00
spdk_nvme.map nvme/cuse: add spdk_nvme_cuse_update api 2020-06-05 09:01:44 +00:00