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;
|
struct spdk_lvol_store_req *req = cb_arg;
|
||||||
free(req);
|
free(req);
|
||||||
free(lvs);
|
free(lvs);
|
||||||
|
g_lvol_store = NULL;
|
||||||
|
|
||||||
return 0;
|
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
|
static void
|
||||||
ut_lvol_resize(void)
|
ut_lvol_resize(void)
|
||||||
{
|
{
|
||||||
@ -496,7 +526,8 @@ int main(int argc, char **argv)
|
|||||||
if (
|
if (
|
||||||
CU_add_test(suite, "ut_lvs_init", ut_lvs_init) == NULL ||
|
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_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();
|
CU_cleanup_registry();
|
||||||
return CU_get_error();
|
return CU_get_error();
|
||||||
|
Loading…
Reference in New Issue
Block a user