From 3126157a219271cb4b8cff3b05ac791345e38671 Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Thu, 15 Nov 2018 22:04:17 -0500 Subject: [PATCH] bdev_nvme: set to deactive state when deleting NS bdev Since the number of NVMe controller's Namespace is a const variable, so the Namespace block device is a static array, and is assigned with NSID after initialization, so when users want to delete a specified block device, we can just change it into inactive state. Fix issue #495. Change-Id: Ie6e33ad59f2375cc2b5099624bfe1ef6918a6264 Signed-off-by: Changpeng Liu Reviewed-on: https://review.gerrithub.io/433543 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Darek Stojaczyk Reviewed-by: Shuhei Matsumoto --- 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 958e91c50..d03b53a22 100644 --- a/lib/bdev/nvme/bdev_nvme.c +++ b/lib/bdev/nvme/bdev_nvme.c @@ -282,7 +282,7 @@ bdev_nvme_destruct(void *ctx) pthread_mutex_lock(&g_bdev_nvme_mutex); nvme_ctrlr->ref--; free(nvme_disk->disk.name); - memset(nvme_disk, 0, sizeof(*nvme_disk)); + nvme_disk->active = false; if (nvme_ctrlr->ref == 0 && nvme_ctrlr->destruct) { /* Clear destruct sign in case of reentering controller destruct */ nvme_ctrlr->destruct = false;