Spdk/module/bdev/nvme
Shuhei Matsumoto 7baa78c86c bdev/nvme: Refactor _bdev_nvme_find_io_path() to cache non-optimized path for active/active
nbdev_ch->current_io_path is NULL at initialization.
bdev_nvme_find_io_path() calls _bdev_nvme_find_io_path() if
nbdev_ch->current_io_path is NULL. If there is no optimized path,
nbdev_ch->current_io_path is not filled. Hence, as long as there is no
optimized path, bdev_nvme_find_next_io_path() is never called.

However, bdev_nvme_find_next_io_path() fills nbdev_ch->current_io_path
even if the found path is non optimized.

This is a contradiction and a bug.

To fix this bug, as a preparation, refactor _bdev_nvme_find_io_path() to
cnosolidate bdev_nvme_find_next_io_path() and _bdev_nvme_find_io_path()
into a single function because  bdev_nvme_find_next_io_path() and
_bdev_nvme_find_io_path() were almost identical.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I7bc4107ce6ae6f116dee03c9bb67d9e4061ce775
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16188
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Richael <richael.zhuang@arm.com>
2023-01-13 00:47:04 +00:00
..
bdev_mdns_client.c nvme: Added support for TP-8009, Auto-discovery of Discovery controllers for NVME initiator using mDNS using Avahi 2023-01-12 17:22:48 +00:00
bdev_nvme_cuse_rpc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
bdev_nvme_rpc.c nvme: Added support for TP-8009, Auto-discovery of Discovery controllers for NVME initiator using mDNS using Avahi 2023-01-12 17:22:48 +00:00
bdev_nvme.c bdev/nvme: Refactor _bdev_nvme_find_io_path() to cache non-optimized path for active/active 2023-01-13 00:47:04 +00:00
bdev_nvme.h nvme: Added support for TP-8009, Auto-discovery of Discovery controllers for NVME initiator using mDNS using Avahi 2023-01-12 17:22:48 +00:00
Makefile nvme: Added support for TP-8009, Auto-discovery of Discovery controllers for NVME initiator using mDNS using Avahi 2023-01-12 17:22:48 +00:00
nvme_rpc.c nvme: fix a possible NULL pointer deref 2022-12-06 09:26:57 +00:00
vbdev_opal_rpc.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
vbdev_opal.c update Intel copyright notices 2022-11-10 08:28:53 +00:00
vbdev_opal.h update Intel copyright notices 2022-11-10 08:28:53 +00:00