Commit ce6a7cd8 authored by Seth Howell's avatar Seth Howell Committed by Jim Harris
Browse files

test/bdev/mt free unregistered bdevs after polling.



This unit test operated under the assumption that one could immediately
free a bdev after calling spdk_bdev_unregister. This assumption is
broken when we moved the actual destroy call to an asynchronous callback
to spdk_io_device_unregister.

Change-Id: I92d34f7e2e2993bfe9391f9bb72e08128dec74f4
Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/406429


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent ecd5f651
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -221,7 +221,6 @@ unregister_bdev(struct ut_bdev *ut_bdev)
	/* Handle any deferred messages. */
	poll_threads();
	spdk_bdev_unregister(&ut_bdev->bdev, NULL, NULL);
	memset(ut_bdev, 0, sizeof(*ut_bdev));
}

static void
@@ -260,6 +259,7 @@ teardown_test(void)
	spdk_io_device_unregister(&g_io_device, NULL);
	spdk_bdev_finish(finish_cb, NULL);
	poll_threads();
	memset(&g_bdev, 0, sizeof(g_bdev));
	CU_ASSERT(g_teardown_done == true);
	g_teardown_done = false;
	free_threads();
@@ -1218,8 +1218,8 @@ enomem_multi_bdev(void)
	spdk_put_io_channel(second_ch);
	spdk_bdev_close(second_desc);
	unregister_bdev(second_bdev);
	free(second_bdev);
	poll_threads();
	free(second_bdev);
	teardown_test();
}