bdev/nvme: When detecing multipath, only compare active namespaces

Calling spdk_nvme_ns_get_data(ns) on an inactive namespace will crash.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: Ib8cfa84e785a4a04dc3b1826c700a22eeec51e3c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5013
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Ben Walker 2020-11-03 11:14:17 -07:00 committed by Tomasz Zawadzki
parent e7cbcec38e
commit 7dbe9cfa0f

View File

@ -1784,6 +1784,10 @@ bdev_nvme_add_trid(struct nvme_bdev_ctrlr *nvme_bdev_ctrlr, struct spdk_nvme_tra
}
for (i = 1; i <= nvme_bdev_ctrlr->num_ns; i++) {
if (!spdk_nvme_ctrlr_is_active_ns(nvme_bdev_ctrlr->ctrlr, i)) {
continue;
}
ns = spdk_nvme_ctrlr_get_ns(nvme_bdev_ctrlr->ctrlr, i);
new_ns = spdk_nvme_ctrlr_get_ns(new_ctrlr, i);
assert(ns != NULL);