Loading
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>