From c83ffe324f9a65ce634aa454aa8f62038bbdbab9 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Tue, 24 Nov 2020 04:18:01 -0500 Subject: [PATCH] ut/bdev: dont poll threads recursively free_bdev() polls threads to push the bdev unregister forward. get_device_stat_test called the free_bdev() within a callback, which results in polling threads recursively. Discovered while working on asynchronous registration for bdevs. Signed-off-by: Tomasz Zawadzki Change-Id: Ib4f6f50c1542d11e98f8ba093710620cca016eb4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5211 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Shuhei Matsumoto --- test/unit/lib/bdev/bdev.c/bdev_ut.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/unit/lib/bdev/bdev.c/bdev_ut.c b/test/unit/lib/bdev/bdev.c/bdev_ut.c index e49012f2e..226996abb 100644 --- a/test/unit/lib/bdev/bdev.c/bdev_ut.c +++ b/test/unit/lib/bdev/bdev.c/bdev_ut.c @@ -455,7 +455,6 @@ get_device_stat_cb(struct spdk_bdev *bdev, struct spdk_bdev_io_stat *stat, void CU_ASSERT_STRING_EQUAL(bdev_name, "bdev0"); free(stat); - free_bdev(bdev); *(bool *)cb_arg = true; } @@ -512,7 +511,7 @@ get_device_stat_test(void) spdk_bdev_get_device_stat(bdev, stat, get_device_stat_cb, &done); while (!done) { poll_threads(); } - + free_bdev(bdev); } static void