blobstore: close bdev on destroy

Now spdk_bdev_create_bs_dev() opens the underlaying spdk_bdev.
Due to that spdk_bdev should be closed when bs_dev is destroyed.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I0805f29abfeb52ff1db067bad7b7e0f13fc39398

Reviewed-on: https://review.gerrithub.io/368351
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Tomasz Zawadzki 2017-07-06 12:04:25 +02:00 committed by Daniel Verkamp
parent fc58acea51
commit c303ba2c16

View File

@ -52,6 +52,12 @@ __get_bdev(struct spdk_bs_dev *dev)
return ((struct blob_bdev *)dev)->bdev;
}
static inline struct spdk_bdev_desc *
__get_desc(struct spdk_bs_dev *dev)
{
return ((struct blob_bdev *)dev)->desc;
}
static void
bdev_blob_io_complete(struct spdk_bdev_io *bdev_io, bool success, void *arg)
{
@ -135,6 +141,9 @@ bdev_blob_destroy_channel(struct spdk_bs_dev *dev, struct spdk_io_channel *chann
static void
bdev_blob_destroy(struct spdk_bs_dev *bs_dev)
{
struct spdk_bdev_desc *desc = __get_desc(bs_dev);
spdk_bdev_close(desc);
free(bs_dev);
}