vhost_blk: close the bdev in the hotplug callback

For normal exit logic, such as Ctrl+C, vhost blk will not
shutdown the backend device, e.g: NVMe controller.

Change-Id: I7fdf8687a2cfa6a8cc6a61428d722debfa9a2180
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/391348
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Changpeng Liu 2017-12-12 02:40:39 -05:00 committed by Jim Harris
parent 3099d7a5f9
commit 4395093b97

View File

@ -400,6 +400,8 @@ _bdev_remove_cb(struct spdk_vhost_dev *vdev, void *arg)
bvdev->requestq_poller = spdk_poller_register(no_bdev_vdev_worker, bvdev, 0);
}
spdk_bdev_close(bvdev->bdev_desc);
bvdev->bdev_desc = NULL;
bvdev->bdev = NULL;
return 0;
}
@ -738,7 +740,10 @@ spdk_vhost_blk_destroy(struct spdk_vhost_dev *vdev)
return rc;
}
spdk_bdev_close(bvdev->bdev_desc);
if (bvdev->bdev_desc) {
spdk_bdev_close(bvdev->bdev_desc);
bvdev->bdev_desc = NULL;
}
bvdev->bdev = NULL;
spdk_dma_free(bvdev);