Loading
bdev/nvme: Call failover() instead of reset() if I/O qpair gets error first
Previously, only if admin qpair gets error, bdev_nvme_failover() was called. However, I/O qpair may get error earlier than admin qpair. In this case, bdev_nvme_failover() was called but reset was already in progress. So bdev_nvme_failover() returned without doing anything. bdev_nvme_reset_complete() executes bdev_nvme_failover() if reset failed. However the test time of test/nvmf/host/failover.sh was very short. Timeout came before trying bdev_nvme_failover(). We can replace other bdev_nvme_reset() calls by bdev_nvme_failover() but this patch focuses on the critical case. Fixes issue #2128. Signed-off-by:Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I68f54bbf54f92343aa56ae41f2b4cd92421c4bbb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12295 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com> Reviewed-by:
Aleksey Marchuk <alexeymar@mellanox.com>