blobcli: Use spdk_for_each_bdev() for bdev list traversal

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib7ea70c7046241dd6b09f44cb9a3e7ce8496d5c9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12140
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Shuhei Matsumoto 2022-04-01 17:49:41 +09:00 committed by Tomasz Zawadzki
parent 74cd76db68
commit 1906b0753e

View File

@ -943,26 +943,34 @@ load_bs(struct cli_context_t *cli_context)
spdk_bs_load(bs_dev, optsp, load_bs_cb, cli_context);
}
static int
print_bdev(void *ctx, struct spdk_bdev *bdev)
{
uint32_t *count = ctx;
(*count)++;
printf("\tbdev Name: %s\n", spdk_bdev_get_name(bdev));
printf("\tbdev Product Name: %s\n",
spdk_bdev_get_product_name(bdev));
return 0;
}
/*
* Lists all the blobs on this blobstore.
*/
static void
list_bdevs(struct cli_context_t *cli_context)
{
struct spdk_bdev *bdev = NULL;
uint32_t count = 0;
printf("\nList bdevs:\n");
bdev = spdk_bdev_first();
if (bdev == NULL) {
spdk_for_each_bdev(&count, print_bdev);
if (count == 0) {
printf("Could not find a bdev\n");
}
while (bdev) {
printf("\tbdev Name: %s\n", spdk_bdev_get_name(bdev));
printf("\tbdev Product Name: %s\n",
spdk_bdev_get_product_name(bdev));
bdev = spdk_bdev_next(bdev);
}
printf("\n");
if (cli_context->cli_mode == CLI_MODE_CMD) {