Commit 0bd8e751 authored by Cunyin Chang's avatar Cunyin Chang Committed by Daniel Verkamp
Browse files

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: default avatarCunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/375941


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent 5ea96e51
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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);
	}
}