+17
−13
Loading
It reported the following error when running bdevperf with controller disabled before nvme bdev channels are created. " bdevperf: nvme_ctrlr.c:5263: spdk_nvme_ctrlr_alloc_qid: Assertion `ctrlr->free_io_qids' failed. " Because when a controller is disconnected, free_io_qids is freed and set as NULL in nvme_ctrlr_disconnect_done. But the namespaces of this controller is not marked as something like disabled and skip this namespace when creating nvme bdev channel. So when creating nvme bdev channel, it will add io path for this nvme_ns, which cause the failure finally. So if a nvme_ctrlr is disabled, don't create the spdk_nvme_qpair. We only keep the io_path and nvme_qpair. spdk_nvme_qpair will be created when this nvme_ctrlr is enabled. Change-Id: I5bcecd4f8aa1a90a5e2d9d0db7f7016e5272c5d7 Signed-off-by:Richael Zhuang <richael.zhuang@arm.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18903 Reviewed-by:
Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by:
Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <jim.harris@gmail.com>