bdev/nvme: remove the nvme_bdev from list safely.
There remove callback function will remove the nvme_bdev from the global list, we do not need to remove the device in the function bdev_nvme_destruct(). just make sure to remove it from list when the app exit. Change-Id: I1859bfd696ed9c0ca3ac1cd8ffadfd9488df0fcd Signed-off-by: Cunyin Chang <cunyin.chang@intel.com> Reviewed-on: https://review.gerrithub.io/375941 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
5ea96e511a
commit
0bd8e75199
@ -239,11 +239,8 @@ bdev_nvme_destruct(void *ctx)
|
||||
|
||||
pthread_mutex_lock(&g_bdev_nvme_mutex);
|
||||
nvme_ctrlr->ref--;
|
||||
|
||||
TAILQ_REMOVE(&g_nvme_bdevs, nvme_disk, link);
|
||||
free(nvme_disk->disk.name);
|
||||
free(nvme_disk);
|
||||
|
||||
if (nvme_ctrlr->ref == 0) {
|
||||
TAILQ_REMOVE(&g_nvme_ctrlrs, nvme_ctrlr, tailq);
|
||||
pthread_mutex_unlock(&g_bdev_nvme_mutex);
|
||||
@ -1087,6 +1084,7 @@ bdev_nvme_library_fini(void)
|
||||
}
|
||||
|
||||
TAILQ_FOREACH_SAFE(nvme_bdev, &g_nvme_bdevs, link, btmp) {
|
||||
TAILQ_REMOVE(&g_nvme_bdevs, nvme_bdev, link);
|
||||
bdev_nvme_destruct(&nvme_bdev->disk);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user