diff --git a/examples/bdev/fio_plugin/fio_plugin.c b/examples/bdev/fio_plugin/fio_plugin.c index f707e7d3c..4ceec651e 100644 --- a/examples/bdev/fio_plugin/fio_plugin.c +++ b/examples/bdev/fio_plugin/fio_plugin.c @@ -475,6 +475,13 @@ spdk_fio_setup(struct thread_data *td) return 0; } +static void +fio_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_bdev *bdev, + void *event_ctx) +{ + SPDK_WARNLOG("Unsupported bdev event: type %d\n", type); +} + static void spdk_fio_bdev_open(void *arg) { @@ -500,15 +507,8 @@ spdk_fio_bdev_open(void *arg) return; } - target->bdev = spdk_bdev_get_by_name(f->file_name); - if (!target->bdev) { - SPDK_ERRLOG("Unable to find bdev with name %s\n", f->file_name); - free(target); - fio_thread->failed = true; - return; - } - - rc = spdk_bdev_open(target->bdev, true, NULL, NULL, &target->desc); + rc = spdk_bdev_open_ext(f->file_name, true, fio_bdev_event_cb, NULL, + &target->desc); if (rc) { SPDK_ERRLOG("Unable to open bdev %s\n", f->file_name); free(target); @@ -516,6 +516,8 @@ spdk_fio_bdev_open(void *arg) return; } + target->bdev = spdk_bdev_desc_get_bdev(target->desc); + target->ch = spdk_bdev_get_io_channel(target->desc); if (!target->ch) { SPDK_ERRLOG("Unable to get I/O channel for bdev.\n");