From c865839736524a4da5dbe30e9c99087c24b54ad7 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 15 Oct 2020 00:19:44 +0900 Subject: [PATCH] examples/blob_cli: Use spdk_bdev_create_bs_dev_ext() to pass bdev_name Update a few print outputs to out not product name but bdev name because bdev pointer is not available there after replacing spdk_bdev_get_by_name() and spdk_bdev_open() by spdk_bdev_open_ext(). Signed-off-by: Shuhei Matsumoto Change-Id: I624fea3a0a12c1049e950bddae8cea9f88b16db5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4702 Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki --- examples/blob/cli/blobcli.c | 59 ++++++++++++++-------------------- test/blobstore/btest.out.match | 2 +- 2 files changed, 25 insertions(+), 36 deletions(-) diff --git a/examples/blob/cli/blobcli.c b/examples/blob/cli/blobcli.c index b8eea3257..2a4283760 100644 --- a/examples/blob/cli/blobcli.c +++ b/examples/blob/cli/blobcli.c @@ -857,25 +857,26 @@ load_bs_cb(void *arg1, struct spdk_blob_store *bs, int bserrno) } } +static void +base_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_bdev *bdev, + void *event_ctx) +{ + printf("Unsupported bdev event: type %d\n", type); +} + /* * Load the blobstore. */ static void load_bs(struct cli_context_t *cli_context) { - struct spdk_bdev *bdev = NULL; struct spdk_bs_dev *bs_dev = NULL; + int rc; - bdev = spdk_bdev_get_by_name(cli_context->bdev_name); - if (bdev == NULL) { - printf("Could not find a bdev\n"); - spdk_app_stop(-1); - return; - } - - bs_dev = spdk_bdev_create_bs_dev(bdev, NULL, NULL); - if (bs_dev == NULL) { - printf("Could not create blob bdev!!\n"); + rc = spdk_bdev_create_bs_dev_ext(cli_context->bdev_name, base_bdev_event_cb, + NULL, &bs_dev); + if (rc != 0) { + printf("Could not create blob bdev, %s!!\n", spdk_strerror(-rc)); spdk_app_stop(-1); return; } @@ -939,20 +940,14 @@ bs_init_cb(void *cb_arg, struct spdk_blob_store *bs, static void init_bs(struct cli_context_t *cli_context) { - struct spdk_bdev *bdev = NULL; + int rc; - bdev = spdk_bdev_get_by_name(cli_context->bdev_name); - if (bdev == NULL) { - printf("Could not find a bdev\n"); - spdk_app_stop(-1); - return; - } - printf("Init blobstore using bdev Product Name: %s\n", - spdk_bdev_get_product_name(bdev)); + printf("Init blobstore using bdev Name: %s\n", cli_context->bdev_name); - cli_context->bs_dev = spdk_bdev_create_bs_dev(bdev, NULL, NULL); - if (cli_context->bs_dev == NULL) { - printf("Could not create blob bdev!!\n"); + rc = spdk_bdev_create_bs_dev_ext(cli_context->bdev_name, base_bdev_event_cb, NULL, + &cli_context->bs_dev); + if (rc != 0) { + printf("Could not create blob bdev, %s!!\n", spdk_strerror(-rc)); spdk_app_stop(-1); return; } @@ -1011,20 +1006,14 @@ bsdump_print_xattr(FILE *fp, const char *bstype, const char *name, const void *v static void dump_bs(struct cli_context_t *cli_context) { - struct spdk_bdev *bdev = NULL; + int rc; - bdev = spdk_bdev_get_by_name(cli_context->bdev_name); - if (bdev == NULL) { - printf("Could not find a bdev\n"); - spdk_app_stop(-1); - return; - } - printf("Init blobstore using bdev Product Name: %s\n", - spdk_bdev_get_product_name(bdev)); + printf("Init blobstore using bdev Name: %s\n", cli_context->bdev_name); - cli_context->bs_dev = spdk_bdev_create_bs_dev(bdev, NULL, NULL); - if (cli_context->bs_dev == NULL) { - printf("Could not create blob bdev!!\n"); + rc = spdk_bdev_create_bs_dev_ext(cli_context->bdev_name, base_bdev_event_cb, NULL, + &cli_context->bs_dev); + if (rc != 0) { + printf("Could not create blob bdev, %s!!\n", spdk_strerror(-rc)); spdk_app_stop(-1); return; } diff --git a/test/blobstore/btest.out.match b/test/blobstore/btest.out.match index b197e22d4..35efd2c58 100644 --- a/test/blobstore/btest.out.match +++ b/test/blobstore/btest.out.match @@ -2,7 +2,7 @@ Starting SPDK v19.10.1 / DPDK 19.08.0 initialization... [ DPDK EAL parameters: blobcli --no-shconf -c 0x1 --log-level=lib.eal:6 --log-level=lib.cryptodev:5 --log-level=user1:6 --iova-mode=pa --base-virtaddr=0x200000000000 --match-allocations --file-prefix=spdk_pid1641656 ] SCRIPT NOW PROCESSING: -i -Init blobstore using bdev Product Name: NVMe disk +Init blobstore using bdev Name: Nvme0n1 blobstore init'd: ($(XX)) SCRIPT NOW PROCESSING: -l bdevs