From c97e5645313ad3a5b366d20190a31be94ee8cd03 Mon Sep 17 00:00:00 2001 From: yidong0635 Date: Thu, 18 Apr 2019 13:34:37 -0400 Subject: [PATCH] bdev/nvme: fix issue about coredump which caused by assert error. Here assert(nvme_bdev->id == nsid) ,there's inactive case about nvme_bdev, that code will continue. So need to skip the same case in remove_cb. Change-Id: Idd3bd16d32e75f6d0e448b838676eb6f2ca5cfad Signed-off-by: yidong0635 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451445 Tested-by: SPDK CI Jenkins Reviewed-by: Darek Stojaczyk Reviewed-by: Jim Harris --- lib/bdev/nvme/bdev_nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bdev/nvme/bdev_nvme.c b/lib/bdev/nvme/bdev_nvme.c index ecbc318f7..f2d1eae81 100644 --- a/lib/bdev/nvme/bdev_nvme.c +++ b/lib/bdev/nvme/bdev_nvme.c @@ -1037,8 +1037,8 @@ remove_cb(void *cb_ctx, struct spdk_nvme_ctrlr *ctrlr) uint32_t nsid = i + 1; nvme_bdev = &nvme_bdev_ctrlr->bdevs[nsid - 1]; - assert(nvme_bdev->id == nsid); if (nvme_bdev->active) { + assert(nvme_bdev->id == nsid); spdk_bdev_unregister(&nvme_bdev->disk, NULL, NULL); } }