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 <dongx.yi@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451445
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
yidong0635 2019-04-18 13:34:37 -04:00 committed by Jim Harris
parent bb488d2829
commit c97e564531

View File

@ -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);
}
}