Spdk/module
Shuhei Matsumoto 6439abc0d8 bdev/nvme: Ignore failure of I/O qpair creation if reconnect and retry are enabled
By a recent improvement, failure of I/O qpair creation is ignored
if the nvme_ctrlr is being reset or scheduled to reconnect.

However, failure of I/O qpair creation is not ignored if a new I/O
channel is allocated. It is normal to allocate a new I/O channel
when a nvme_ctrlr is being reset or scheduled to reconnect.

Fix this bug by relaxing the condition to ignore the result of
bdev_nvme_create_qpair() to if reconnect_delay_sec is non-zero and
bdev_retry_count is non-zero.

If reconnect_delay_sec is non-zero, reconnect will be tried sooner
or later, and if bdev_retry_count is non-zero, submitted IOs will be
queued until it succeeds.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Icf26e1ea65d292f9b8d24966abe25907d2cc33ec
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14446
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-09-21 07:52:44 +00:00
..
accel accel: Rename spdk_accel_engine_module_finish to 2022-09-06 07:16:17 +00:00
bdev bdev/nvme: Ignore failure of I/O qpair creation if reconnect and retry are enabled 2022-09-21 07:52:44 +00:00
blob blob: Optimize copy-on-write flow for clusters backed by zeroes device 2022-09-05 12:49:46 +00:00
blobfs Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
env_dpdk Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
event accel: Do not refer to the "framework" as "engine" 2022-09-06 07:16:17 +00:00
scheduler lib/event: do not set default scheduling period during init 2022-06-20 09:56:09 +00:00
sock sock/ssl: free SSL resources in case of failures 2022-09-16 13:33:17 +00:00
Makefile Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00