ut/bdev_mt: fix io_channel leak in "unregister_and_close"

We didn't call teardown_test() in "unregister_and_close"
test case, causing the subsequent test case to fail
to register the same io_channel. This didn't cause any
issues, as spdk_io_device_register() silently returned
if the same io_device was already registered. However,
there was an extra error message printed and this patch
gets rid of it.

```
  Test: unregister_and_close ...passed
  Test: basic_qos ...thread.c: 850:spdk_io_device_register: *ERROR*:
io_device 0x55555576e4e0 already registered (old:0x555555770ab0
new:0x55555d7a14d0)
passed
```

Change-Id: Ib554612df8985c9d99b46b71bb76020f52565362
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450111
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Darek Stojaczyk 2019-04-04 02:11:24 +02:00 committed by Jim Harris
parent ff5d362e72
commit bb64a7e511

View File

@ -384,9 +384,10 @@ unregister_and_close(void)
/* The unregister should have completed */
CU_ASSERT(done == true);
spdk_bdev_finish(finish_cb, NULL);
poll_threads();
free_threads();
/* Restore the original g_bdev so that we can use teardown_test(). */
register_bdev(&g_bdev, "ut_bdev", &g_io_device);
spdk_bdev_open(&g_bdev.bdev, true, NULL, NULL, &g_desc);
teardown_test();
}
static void