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 <james.r.harris@intel.com> Change-Id: Id0b9b99c85ed13166ec9a229eaaa0b0eb04289fd Reviewed-on: https://review.gerrithub.io/c/440573 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: wuzhouhui <wuzhouhui@kingsoft.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
c0f3805153
commit
42aa5a262b
@ -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;
|
||||
};
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user