Spdk/module/bdev
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
..
aio bdev/aio: return void from bdev_aio_readv/writev 2021-09-02 07:42:31 +00:00
compress spelling: module 2022-06-30 13:32:28 -04:00
crypto spelling: module 2022-06-30 13:32:28 -04:00
delay spelling: module 2022-06-30 13:32:28 -04:00
error bdev/error: properly initialize value of num for inject_error RPC 2021-04-15 21:41:05 +00:00
ftl spelling: module 2022-06-30 13:32:28 -04:00
gpt spelling: module 2022-06-30 13:32:28 -04:00
iscsi bdev/iscsi: unregister conn poller when idle 2022-06-30 13:32:25 -04:00
longhorn Cleanup log messages. 2022-04-05 17:41:49 -04:00
lvol bdev/lvol: asserting lvol ptr before dereference 2021-08-24 07:18:54 +00:00
malloc bdev/malloc: Add optimal IO boundary 2022-06-30 13:32:28 -04:00
null lib/bdev: added spdk_bdev_module_fini_done() 2021-08-23 08:49:56 +00:00
nvme bdev/nvme: Refine and factor out checking if nvme_ctrlr is available or failed 2022-06-30 13:32:29 -04:00
ocf spelling: module 2022-06-30 13:32:28 -04:00
passthru bdev: Add API to get SPDK memory domains used by bdev 2021-08-20 07:26:10 +00:00
pmem lib/bdev: added spdk_bdev_module_fini_done() 2021-08-23 08:49:56 +00:00
raid spelling: module 2022-06-30 13:32:28 -04:00
rbd bdev/rbd: Fix the decode error in bdev_rbd_register_cluster 2022-06-30 13:32:28 -04:00
split splite/vbdev_split: Free base part bdev on the error path. 2021-03-02 08:02:58 +00:00
uring so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
virtio lib/bdev: added spdk_bdev_module_fini_done() 2021-08-23 08:49:56 +00:00
zone_block spelling: module 2022-06-30 13:32:28 -04:00
Makefile Initial changes. 2022-02-08 15:51:30 -05:00