From 42aa5a262bcda28635d7fae0bf8c344117bd23fe Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Sat, 12 Jan 2019 08:39:40 -0700 Subject: [PATCH] reduce: remove close callback Let the application figure out how to close the underlying block device after an init fails or an initialized/loaded volume is closed/destroyed. Signed-off-by: Jim Harris Change-Id: Id0b9b99c85ed13166ec9a229eaaa0b0eb04289fd Reviewed-on: https://review.gerrithub.io/c/440573 Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Shuhei Matsumoto Reviewed-by: wuzhouhui Reviewed-by: Changpeng Liu Tested-by: SPDK CI Jenkins --- include/spdk/reduce.h | 2 -- lib/reduce/reduce.c | 10 ++++------ test/unit/lib/reduce/reduce.c/reduce_ut.c | 13 ------------- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/include/spdk/reduce.h b/include/spdk/reduce.h index a3db77055..0021f3454 100644 --- a/include/spdk/reduce.h +++ b/include/spdk/reduce.h @@ -105,8 +105,6 @@ struct spdk_reduce_backing_dev { void (*unmap)(struct spdk_reduce_backing_dev *dev, uint64_t lba, uint32_t lba_count, struct spdk_reduce_vol_cb_args *args); - void (*close)(struct spdk_reduce_backing_dev *dev); - uint64_t blockcnt; uint32_t blocklen; }; diff --git a/lib/reduce/reduce.c b/lib/reduce/reduce.c index 959faed0d..d01ae5adf 100644 --- a/lib/reduce/reduce.c +++ b/lib/reduce/reduce.c @@ -431,8 +431,8 @@ spdk_reduce_vol_init(struct spdk_reduce_vol_params *params, return; } - if (backing_dev->close == NULL || backing_dev->readv == NULL || - backing_dev->writev == NULL || backing_dev->unmap == NULL) { + if (backing_dev->readv == NULL || backing_dev->writev == NULL || + backing_dev->unmap == NULL) { SPDK_ERRLOG("backing_dev function pointer not specified\n"); cb_fn(cb_arg, NULL, -EINVAL); return; @@ -635,8 +635,8 @@ spdk_reduce_vol_load(struct spdk_reduce_backing_dev *backing_dev, struct spdk_reduce_vol *vol; struct reduce_init_load_ctx *load_ctx; - if (backing_dev->close == NULL || backing_dev->readv == NULL || - backing_dev->writev == NULL || backing_dev->unmap == NULL) { + if (backing_dev->readv == NULL || backing_dev->writev == NULL || + backing_dev->unmap == NULL) { SPDK_ERRLOG("backing_dev function pointer not specified\n"); cb_fn(cb_arg, NULL, -EINVAL); return; @@ -698,8 +698,6 @@ spdk_reduce_vol_unload(struct spdk_reduce_vol *vol, return; } - vol->backing_dev->close(vol->backing_dev); - _init_load_cleanup(vol, NULL); cb_fn(cb_arg, 0); } diff --git a/test/unit/lib/reduce/reduce.c/reduce_ut.c b/test/unit/lib/reduce/reduce.c/reduce_ut.c index a172bfd46..50a7ec99f 100644 --- a/test/unit/lib/reduce/reduce.c/reduce_ut.c +++ b/test/unit/lib/reduce/reduce.c/reduce_ut.c @@ -45,7 +45,6 @@ static char *g_volatile_pm_buf; static size_t g_volatile_pm_buf_len; static char *g_persistent_pm_buf; static size_t g_persistent_pm_buf_len; -static bool g_backing_dev_closed; static char *g_backing_dev_buf; static char g_path[REDUCE_PATH_MAX]; @@ -262,12 +261,6 @@ backing_dev_unmap(struct spdk_reduce_backing_dev *backing_dev, args->cb_fn(args->cb_arg, 0); } -static void -backing_dev_close(struct spdk_reduce_backing_dev *backing_dev) -{ - g_backing_dev_closed = true; -} - static void backing_dev_destroy(struct spdk_reduce_backing_dev *backing_dev) { @@ -290,7 +283,6 @@ backing_dev_init(struct spdk_reduce_backing_dev *backing_dev, struct spdk_reduce backing_dev->readv = backing_dev_readv; backing_dev->writev = backing_dev_writev; backing_dev->unmap = backing_dev_unmap; - backing_dev->close = backing_dev_close; g_backing_dev_buf = calloc(1, size); SPDK_CU_ASSERT_FATAL(g_backing_dev_buf != NULL); @@ -339,10 +331,8 @@ init_md(void) CU_ASSERT(spdk_uuid_compare(&uuid, spdk_reduce_vol_get_uuid(g_vol)) == 0); g_reduce_errno = -1; - g_backing_dev_closed = false; spdk_reduce_vol_unload(g_vol, unload_cb, NULL); CU_ASSERT(g_reduce_errno == 0); - CU_ASSERT(g_backing_dev_closed == true); CU_ASSERT(g_volatile_pm_buf == NULL); persistent_pm_buf_destroy(); @@ -374,7 +364,6 @@ _init_backing_dev(uint32_t backing_blocklen) CU_ASSERT(memcmp(g_backing_dev_buf, SPDK_REDUCE_SIGNATURE, 8) == 0); persistent_params = (struct spdk_reduce_vol_params *)(g_backing_dev_buf + 8); CU_ASSERT(memcmp(persistent_params, ¶ms, sizeof(params)) == 0); - CU_ASSERT(backing_dev.close != NULL); /* Confirm that the path to the persistent memory metadata file was persisted to * the backing device. */ @@ -383,10 +372,8 @@ _init_backing_dev(uint32_t backing_blocklen) REDUCE_PATH_MAX) == 0); g_reduce_errno = -1; - g_backing_dev_closed = false; spdk_reduce_vol_unload(g_vol, unload_cb, NULL); CU_ASSERT(g_reduce_errno == 0); - CU_ASSERT(g_backing_dev_closed == true); persistent_pm_buf_destroy(); backing_dev_destroy(&backing_dev);