reduce: close pm_file during unload
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ibd0026a95cbda1577155a0d9520a93e2e4ba921b Reviewed-on: https://review.gerrithub.io/430649 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
dfd44de7de
commit
c6323a8d52
@ -101,6 +101,8 @@ struct spdk_reduce_pm_file {
|
|||||||
|
|
||||||
/** Size of the persistent memory file in bytes. */
|
/** Size of the persistent memory file in bytes. */
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
|
|
||||||
|
void (*close)(struct spdk_reduce_pm_file *);
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (*spdk_reduce_vol_op_complete)(void *ctx, int ziperrno);
|
typedef void (*spdk_reduce_vol_op_complete)(void *ctx, int ziperrno);
|
||||||
|
@ -239,6 +239,10 @@ spdk_reduce_vol_unload(struct spdk_reduce_vol *vol,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (vol->pm_file.close != NULL) {
|
||||||
|
vol->pm_file.close(&vol->pm_file);
|
||||||
|
}
|
||||||
|
|
||||||
free(vol);
|
free(vol);
|
||||||
cb_fn(cb_arg, 0);
|
cb_fn(cb_arg, 0);
|
||||||
}
|
}
|
||||||
|
@ -147,6 +147,21 @@ get_backing_device_size(void)
|
|||||||
CU_ASSERT(backing_size == expected_backing_size);
|
CU_ASSERT(backing_size == expected_backing_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
pm_file_close(struct spdk_reduce_pm_file *pm_file)
|
||||||
|
{
|
||||||
|
free(g_volatile_pm_buf);
|
||||||
|
g_volatile_pm_buf = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
pm_file_destroy(void)
|
||||||
|
{
|
||||||
|
CU_ASSERT(g_persistent_pm_buf != NULL);
|
||||||
|
free(g_persistent_pm_buf);
|
||||||
|
g_persistent_pm_buf = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
pm_file_init(struct spdk_reduce_pm_file *pm_file, struct spdk_reduce_vol_params *params)
|
pm_file_init(struct spdk_reduce_pm_file *pm_file, struct spdk_reduce_vol_params *params)
|
||||||
{
|
{
|
||||||
@ -161,6 +176,7 @@ pm_file_init(struct spdk_reduce_pm_file *pm_file, struct spdk_reduce_vol_params
|
|||||||
SPDK_CU_ASSERT_FATAL(g_volatile_pm_buf != NULL);
|
SPDK_CU_ASSERT_FATAL(g_volatile_pm_buf != NULL);
|
||||||
|
|
||||||
pm_file->pm_buf = g_volatile_pm_buf;
|
pm_file->pm_buf = g_volatile_pm_buf;
|
||||||
|
pm_file->close = pm_file_close;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -233,10 +249,9 @@ init(void)
|
|||||||
g_ziperrno = -1;
|
g_ziperrno = -1;
|
||||||
spdk_reduce_vol_unload(g_vol, unload_cb, NULL);
|
spdk_reduce_vol_unload(g_vol, unload_cb, NULL);
|
||||||
CU_ASSERT(g_ziperrno == 0);
|
CU_ASSERT(g_ziperrno == 0);
|
||||||
free(g_persistent_pm_buf);
|
CU_ASSERT(g_volatile_pm_buf == NULL);
|
||||||
g_persistent_pm_buf = NULL;
|
|
||||||
free(g_volatile_pm_buf);
|
pm_file_destroy();
|
||||||
g_volatile_pm_buf = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -270,10 +285,9 @@ init_md(void)
|
|||||||
g_ziperrno = -1;
|
g_ziperrno = -1;
|
||||||
spdk_reduce_vol_unload(g_vol, unload_cb, NULL);
|
spdk_reduce_vol_unload(g_vol, unload_cb, NULL);
|
||||||
CU_ASSERT(g_ziperrno == 0);
|
CU_ASSERT(g_ziperrno == 0);
|
||||||
free(g_persistent_pm_buf);
|
CU_ASSERT(g_volatile_pm_buf == NULL);
|
||||||
g_persistent_pm_buf = NULL;
|
|
||||||
free(g_volatile_pm_buf);
|
pm_file_destroy();
|
||||||
g_volatile_pm_buf = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Loading…
Reference in New Issue
Block a user