unit/lvol: unit tests for hot remove functionality
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I58c14300b900709b20fed245cb4a9ae8d1677918 Reviewed-on: https://review.gerrithub.io/378577 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
99ba2b25e6
commit
67169cd707
@ -125,6 +125,7 @@ spdk_lvs_unload(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn,
|
||||
struct spdk_lvol_store_req *req = cb_arg;
|
||||
free(req);
|
||||
free(lvs);
|
||||
g_lvol_store = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -360,6 +361,35 @@ ut_lvol_init(void)
|
||||
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
ut_lvol_hotremove(void)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
lvol_store_initialize_fail = false;
|
||||
lvol_store_initialize_cb_fail = false;
|
||||
lvol_already_opened = false;
|
||||
g_bs_dev = NULL;
|
||||
|
||||
/* Lvol store is succesfully created */
|
||||
rc = vbdev_lvs_create(&g_bdev, lvol_store_op_with_handle_complete, NULL);
|
||||
CU_ASSERT(rc == 0);
|
||||
CU_ASSERT(g_lvserrno == 0);
|
||||
CU_ASSERT(g_lvol_store != NULL);
|
||||
CU_ASSERT(g_bs_dev != NULL);
|
||||
|
||||
/* Hot remove callback with NULL - stability check */
|
||||
vbdev_lvs_hotremove_cb(NULL);
|
||||
|
||||
/* Hot remove lvs on bdev removal */
|
||||
vbdev_lvs_hotremove_cb(&g_bdev);
|
||||
|
||||
CU_ASSERT(g_lvol_store == NULL);
|
||||
CU_ASSERT(TAILQ_EMPTY(&g_spdk_lvol_pairs));
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
ut_lvol_resize(void)
|
||||
{
|
||||
@ -496,7 +526,8 @@ int main(int argc, char **argv)
|
||||
if (
|
||||
CU_add_test(suite, "ut_lvs_init", ut_lvs_init) == NULL ||
|
||||
CU_add_test(suite, "ut_lvol_init", ut_lvol_init) == NULL ||
|
||||
CU_add_test(suite, "ut_lvol_resize", ut_lvol_resize) == NULL
|
||||
CU_add_test(suite, "ut_lvol_resize", ut_lvol_resize) == NULL ||
|
||||
CU_add_test(suite, "lvol_hotremove", ut_lvol_hotremove) == NULL
|
||||
) {
|
||||
CU_cleanup_registry();
|
||||
return CU_get_error();
|
||||
|
Loading…
x
Reference in New Issue
Block a user