Spdk/module/bdev/nvme
Shuhei Matsumoto b1700e1c7b bdev/nvme: Refine and factor out checking if nvme_ctrlr is available or failed
When a I/O or admin passthrough failed, if the corresponding nvme_ctrlr
is not available, we should failover to another path.

When no path was found, if there is at least one nvme_ctrlr which is
not failed, we should wait until it is recovered.

We should improve error recovery not only for multipath (multipath is
"multipath") but also for failover (multipath is omitted or "failover").

To do this easily, clarify the conditions of availability and failure of
nvme_ctrlr and realize them by helper functions.

Use new helper functions for other cases to improve readability too.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I716731f72811d2ec4dfc91f9eadb191d75739af6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10381
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2022-06-30 13:32:29 -04:00
..
bdev_nvme_cuse_rpc.c bdev/nvme: Rename nvme_bdev_ctrlr by nvme_ctrlr 2021-07-13 08:57:33 +00:00
bdev_nvme_rpc.c rpc: added num_io_queues parameter to bdev_nvme_attach_controller 2022-06-30 13:32:28 -04:00
bdev_nvme.c bdev/nvme: Refine and factor out checking if nvme_ctrlr is available or failed 2022-06-30 13:32:29 -04:00
bdev_nvme.h bdev/nvme: Use new APIs in a reset ctrlr sequence 2022-06-30 13:32:29 -04:00
Makefile bdev/nvme: Remove common.h/common.c 2021-09-08 08:06:39 +00:00
nvme_rpc.c bdev/nvme: Remove common.h/common.c 2021-09-08 08:06:39 +00:00
vbdev_opal_rpc.c bdev/nvme: Remove common.h/common.c 2021-09-08 08:06:39 +00:00
vbdev_opal.c bdev/nvme: Use an RB_TREE to hold namespaces in the controller 2022-06-30 13:32:26 -04:00
vbdev_opal.h bdev/nvme: Remove common.h/common.c 2021-09-08 08:06:39 +00:00