Loading
ut/bdev/nvme: cover ctrlr register vs adminq process race
This test improves coverage for the situation where processing admin queue completions returns an error before the controller is registered as an I/O device. A potential error can occur when the admin queue failure getter returns an error but the initial ANA log page is not processed (see nvme_ctrlr_init_ana_log_page_done), so this test simulates a similar scenario. Without the fix (bdev/nvme: register ctrlr early to avoid spdk_for_each_channel error) this test fails with following error > thread.c:2707:spdk_for_each_channel: *ERROR*: could not find io_device 0x513000002880 during bdev_nvme_clear_io_path_caches. For the reason why single admin qpair failure is not fatal see > bdev/nvme: Check not only I/O qpair but also adminq when finding optimal I/O path Change-Id: I6c8b884fb09e65ae7d0ebf9da9a862f9df41d721 Signed-off-by:Jacek Kalwas <jacek.kalwas@nutanix.com> Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26939 Tested-by:
SPDK Automated Test System <spdkbot@gmail.com> Reviewed-by:
Tomasz Zawadzki <tomasz@tzawadzki.com> Community-CI: Mellanox Build Bot Reviewed-by:
Shuhei Matsumoto <smatsumoto@nvidia.com>