From 21c74c8c0fbafcf45b095bfdfd700ecf058af0fc Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Fri, 1 Feb 2019 14:34:45 +0900 Subject: [PATCH] bdev: Use spdk_json_write_named_* APIs throughout Change-Id: I865dd025f2818fcdd65cbb655c7bd03d836f433f Signed-off-by: Shuhei Matsumoto Reviewed-on: https://review.gerrithub.io/c/442938 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker --- lib/bdev/aio/bdev_aio.c | 6 +- lib/bdev/bdev.c | 6 +- lib/bdev/error/vbdev_error.c | 6 +- lib/bdev/gpt/vbdev_gpt.c | 9 +-- lib/bdev/iscsi/bdev_iscsi.c | 9 +-- lib/bdev/lvol/vbdev_lvol.c | 24 +++---- lib/bdev/lvol/vbdev_lvol_rpc.c | 21 ++---- lib/bdev/pmem/bdev_pmem.c | 6 +- lib/bdev/pmem/bdev_pmem_rpc.c | 6 +- lib/bdev/raid/bdev_raid.c | 3 +- lib/bdev/rbd/bdev_rbd.c | 15 ++-- lib/bdev/rpc/bdev_rpc.c | 109 ++++++++++++----------------- lib/bdev/split/vbdev_split.c | 9 +-- lib/bdev/virtio/bdev_virtio_scsi.c | 3 +- 14 files changed, 84 insertions(+), 148 deletions(-) diff --git a/lib/bdev/aio/bdev_aio.c b/lib/bdev/aio/bdev_aio.c index e528acd89e..5c2ec38f83 100644 --- a/lib/bdev/aio/bdev_aio.c +++ b/lib/bdev/aio/bdev_aio.c @@ -454,11 +454,9 @@ bdev_aio_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) { struct file_disk *fdisk = ctx; - spdk_json_write_name(w, "aio"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "aio"); - spdk_json_write_name(w, "filename"); - spdk_json_write_string(w, fdisk->filename); + spdk_json_write_named_string(w, "filename", fdisk->filename); spdk_json_write_object_end(w); diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 3c8c1ab548..36b71a751d 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -659,9 +659,8 @@ spdk_bdev_qos_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *w) spdk_json_write_object_begin(w); spdk_json_write_named_string(w, "method", "set_bdev_qos_limit"); - spdk_json_write_name(w, "params"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "params"); spdk_json_write_named_string(w, "name", bdev->name); for (i = 0; i < SPDK_BDEV_QOS_NUM_RATE_LIMIT_TYPES; i++) { if (limits[i] > 0) { @@ -685,8 +684,7 @@ spdk_bdev_subsystem_config_json(struct spdk_json_write_ctx *w) spdk_json_write_object_begin(w); spdk_json_write_named_string(w, "method", "set_bdev_options"); - spdk_json_write_name(w, "params"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "params"); spdk_json_write_named_uint32(w, "bdev_io_pool_size", g_bdev_opts.bdev_io_pool_size); spdk_json_write_named_uint32(w, "bdev_io_cache_size", g_bdev_opts.bdev_io_cache_size); spdk_json_write_object_end(w); diff --git a/lib/bdev/error/vbdev_error.c b/lib/bdev/error/vbdev_error.c index 8a339803be..4b645fbc86 100644 --- a/lib/bdev/error/vbdev_error.c +++ b/lib/bdev/error/vbdev_error.c @@ -223,11 +223,9 @@ vbdev_error_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) struct error_disk *error_disk = ctx; struct spdk_bdev *base_bdev = spdk_bdev_part_get_base_bdev(&error_disk->part); - spdk_json_write_name(w, "error_disk"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "error_disk"); - spdk_json_write_name(w, "base_bdev"); - spdk_json_write_string(w, base_bdev->name); + spdk_json_write_named_string(w, "base_bdev", base_bdev->name); spdk_json_write_object_end(w); diff --git a/lib/bdev/gpt/vbdev_gpt.c b/lib/bdev/gpt/vbdev_gpt.c index bbaaa4d32f..5252fd1ee0 100644 --- a/lib/bdev/gpt/vbdev_gpt.c +++ b/lib/bdev/gpt/vbdev_gpt.c @@ -252,14 +252,11 @@ vbdev_gpt_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) struct spdk_gpt_partition_entry *gpt_entry = &gpt->partitions[gpt_disk->partition_index]; uint64_t offset_blocks = spdk_bdev_part_get_offset_blocks(&gpt_disk->part); - spdk_json_write_name(w, "gpt"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "gpt"); - spdk_json_write_name(w, "base_bdev"); - spdk_json_write_string(w, spdk_bdev_get_name(part_base_bdev)); + spdk_json_write_named_string(w, "base_bdev", spdk_bdev_get_name(part_base_bdev)); - spdk_json_write_name(w, "offset_blocks"); - spdk_json_write_uint64(w, offset_blocks); + spdk_json_write_named_uint64(w, "offset_blocks", offset_blocks); spdk_json_write_name(w, "partition_type_guid"); write_guid(w, &gpt_entry->part_type_guid); diff --git a/lib/bdev/iscsi/bdev_iscsi.c b/lib/bdev/iscsi/bdev_iscsi.c index ae67a3f537..b2329dbb64 100644 --- a/lib/bdev/iscsi/bdev_iscsi.c +++ b/lib/bdev/iscsi/bdev_iscsi.c @@ -534,12 +534,9 @@ bdev_iscsi_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) { struct bdev_iscsi_lun *lun = ctx; - spdk_json_write_name(w, "iscsi"); - spdk_json_write_object_begin(w); - spdk_json_write_name(w, "initiator_name"); - spdk_json_write_string(w, lun->initiator_iqn); - spdk_json_write_name(w, "url"); - spdk_json_write_string(w, lun->url); + spdk_json_write_named_object_begin(w, "iscsi"); + spdk_json_write_named_string(w, "initiator_name", lun->initiator_iqn); + spdk_json_write_named_string(w, "url", lun->url); spdk_json_write_object_end(w); return 0; diff --git a/lib/bdev/lvol/vbdev_lvol.c b/lib/bdev/lvol/vbdev_lvol.c index a71e3c4612..4de92c497b 100644 --- a/lib/bdev/lvol/vbdev_lvol.c +++ b/lib/bdev/lvol/vbdev_lvol.c @@ -634,8 +634,7 @@ vbdev_lvol_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) char *name; int rc = 0; - spdk_json_write_name(w, "lvol"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "lvol"); lvs_bdev = vbdev_get_lvs_bdev_by_lvs(lvol->lvol_store); if (!lvs_bdev) { @@ -647,30 +646,24 @@ vbdev_lvol_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) bdev = lvs_bdev->bdev; spdk_uuid_fmt_lower(lvol_store_uuid, sizeof(lvol_store_uuid), &lvol->lvol_store->uuid); - spdk_json_write_name(w, "lvol_store_uuid"); - spdk_json_write_string(w, lvol_store_uuid); + spdk_json_write_named_string(w, "lvol_store_uuid", lvol_store_uuid); - spdk_json_write_name(w, "base_bdev"); - spdk_json_write_string(w, spdk_bdev_get_name(bdev)); + spdk_json_write_named_string(w, "base_bdev", spdk_bdev_get_name(bdev)); blob = lvol->blob; - spdk_json_write_name(w, "thin_provision"); - spdk_json_write_bool(w, spdk_blob_is_thin_provisioned(blob)); + spdk_json_write_named_bool(w, "thin_provision", spdk_blob_is_thin_provisioned(blob)); - spdk_json_write_name(w, "snapshot"); - spdk_json_write_bool(w, spdk_blob_is_snapshot(blob)); + spdk_json_write_named_bool(w, "snapshot", spdk_blob_is_snapshot(blob)); - spdk_json_write_name(w, "clone"); - spdk_json_write_bool(w, spdk_blob_is_clone(blob)); + spdk_json_write_named_bool(w, "clone", spdk_blob_is_clone(blob)); if (spdk_blob_is_clone(blob)) { spdk_blob_id snapshotid = spdk_blob_get_parent_snapshot(lvol->lvol_store->blobstore, lvol->blob_id); if (snapshotid != SPDK_BLOBID_INVALID) { name = vbdev_lvol_find_name(lvol, snapshotid); if (name != NULL) { - spdk_json_write_name(w, "base_snapshot"); - spdk_json_write_string(w, name); + spdk_json_write_named_string(w, "base_snapshot", name); } else { SPDK_ERRLOG("Cannot obtain snapshots name\n"); } @@ -690,8 +683,7 @@ vbdev_lvol_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) rc = spdk_blob_get_clones(lvol->lvol_store->blobstore, lvol->blob_id, ids, &count); if (rc == 0) { - spdk_json_write_name(w, "clones"); - spdk_json_write_array_begin(w); + spdk_json_write_named_array_begin(w, "clones"); for (i = 0; i < count; i++) { name = vbdev_lvol_find_name(lvol, ids[i]); if (name != NULL) { diff --git a/lib/bdev/lvol/vbdev_lvol_rpc.c b/lib/bdev/lvol/vbdev_lvol_rpc.c index 373558299b..162c912ee4 100644 --- a/lib/bdev/lvol/vbdev_lvol_rpc.c +++ b/lib/bdev/lvol/vbdev_lvol_rpc.c @@ -1109,26 +1109,19 @@ spdk_rpc_dump_lvol_store_info(struct spdk_json_write_ctx *w, struct lvol_store_b spdk_json_write_object_begin(w); spdk_uuid_fmt_lower(uuid, sizeof(uuid), &lvs_bdev->lvs->uuid); - spdk_json_write_name(w, "uuid"); - spdk_json_write_string(w, uuid); + spdk_json_write_named_string(w, "uuid", uuid); - spdk_json_write_name(w, "name"); - spdk_json_write_string(w, lvs_bdev->lvs->name); + spdk_json_write_named_string(w, "name", lvs_bdev->lvs->name); - spdk_json_write_name(w, "base_bdev"); - spdk_json_write_string(w, spdk_bdev_get_name(lvs_bdev->bdev)); + spdk_json_write_named_string(w, "base_bdev", spdk_bdev_get_name(lvs_bdev->bdev)); - spdk_json_write_name(w, "total_data_clusters"); - spdk_json_write_uint64(w, spdk_bs_total_data_cluster_count(bs)); + spdk_json_write_named_uint64(w, "total_data_clusters", spdk_bs_total_data_cluster_count(bs)); - spdk_json_write_name(w, "free_clusters"); - spdk_json_write_uint64(w, spdk_bs_free_cluster_count(bs)); + spdk_json_write_named_uint64(w, "free_clusters", spdk_bs_free_cluster_count(bs)); - spdk_json_write_name(w, "block_size"); - spdk_json_write_uint64(w, block_size); + spdk_json_write_named_uint64(w, "block_size", block_size); - spdk_json_write_name(w, "cluster_size"); - spdk_json_write_uint64(w, cluster_size); + spdk_json_write_named_uint64(w, "cluster_size", cluster_size); spdk_json_write_object_end(w); } diff --git a/lib/bdev/pmem/bdev_pmem.c b/lib/bdev/pmem/bdev_pmem.c index f8fa7e7815..5cab9f7285 100644 --- a/lib/bdev/pmem/bdev_pmem.c +++ b/lib/bdev/pmem/bdev_pmem.c @@ -259,10 +259,8 @@ bdev_pmem_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) { struct pmem_disk *pdisk = ctx; - spdk_json_write_name(w, "pmem"); - spdk_json_write_object_begin(w); - spdk_json_write_name(w, "pmem_file"); - spdk_json_write_string(w, pdisk->pmem_file); + spdk_json_write_named_object_begin(w, "pmem"); + spdk_json_write_named_string(w, "pmem_file", pdisk->pmem_file); spdk_json_write_object_end(w); return 0; diff --git a/lib/bdev/pmem/bdev_pmem_rpc.c b/lib/bdev/pmem/bdev_pmem_rpc.c index 698661c598..b3a1627e5f 100644 --- a/lib/bdev/pmem/bdev_pmem_rpc.c +++ b/lib/bdev/pmem/bdev_pmem_rpc.c @@ -284,10 +284,8 @@ spdk_rpc_pmem_pool_info(struct spdk_jsonrpc_request *request, spdk_json_write_array_begin(w); spdk_json_write_object_begin(w); - spdk_json_write_name(w, "num_blocks"); - spdk_json_write_uint64(w, num_blocks); - spdk_json_write_name(w, "block_size"); - spdk_json_write_uint64(w, block_size); + spdk_json_write_named_uint64(w, "num_blocks", num_blocks); + spdk_json_write_named_uint64(w, "block_size", block_size); spdk_json_write_object_end(w); spdk_json_write_array_end(w); spdk_jsonrpc_end_result(request, w); diff --git a/lib/bdev/raid/bdev_raid.c b/lib/bdev/raid/bdev_raid.c index 920c308bba..f638c1c20e 100644 --- a/lib/bdev/raid/bdev_raid.c +++ b/lib/bdev/raid/bdev_raid.c @@ -673,8 +673,7 @@ raid_bdev_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) assert(raid_bdev != NULL); /* Dump the raid bdev configuration related information */ - spdk_json_write_name(w, "raid"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "raid"); spdk_json_write_named_uint32(w, "strip_size", raid_bdev->strip_size); spdk_json_write_named_uint32(w, "state", raid_bdev->state); spdk_json_write_named_uint32(w, "raid_level", raid_bdev->raid_level); diff --git a/lib/bdev/rbd/bdev_rbd.c b/lib/bdev/rbd/bdev_rbd.c index d3fd02e548..0227798dba 100644 --- a/lib/bdev/rbd/bdev_rbd.c +++ b/lib/bdev/rbd/bdev_rbd.c @@ -605,14 +605,11 @@ bdev_rbd_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) { struct bdev_rbd *rbd_bdev = ctx; - spdk_json_write_name(w, "rbd"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "rbd"); - spdk_json_write_name(w, "pool_name"); - spdk_json_write_string(w, rbd_bdev->pool_name); + spdk_json_write_named_string(w, "pool_name", rbd_bdev->pool_name); - spdk_json_write_name(w, "rbd_name"); - spdk_json_write_string(w, rbd_bdev->rbd_name); + spdk_json_write_named_string(w, "rbd_name", rbd_bdev->rbd_name); if (rbd_bdev->user_id) { spdk_json_write_named_string(w, "user_id", rbd_bdev->user_id); @@ -621,8 +618,7 @@ bdev_rbd_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) if (rbd_bdev->config) { char **entry = rbd_bdev->config; - spdk_json_write_name(w, "config"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "config"); while (*entry) { spdk_json_write_named_string(w, entry[0], entry[1]); entry += 2; @@ -656,8 +652,7 @@ bdev_rbd_write_config_json(struct spdk_bdev *bdev, struct spdk_json_write_ctx *w if (rbd->config) { char **entry = rbd->config; - spdk_json_write_name(w, "config"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "config"); while (*entry) { spdk_json_write_named_string(w, entry[0], entry[1]); entry += 2; diff --git a/lib/bdev/rpc/bdev_rpc.c b/lib/bdev/rpc/bdev_rpc.c index 3cf1b48b0a..3675a0ad78 100644 --- a/lib/bdev/rpc/bdev_rpc.c +++ b/lib/bdev/rpc/bdev_rpc.c @@ -63,48 +63,36 @@ spdk_rpc_get_bdevs_iostat_cb(struct spdk_bdev *bdev, if (bdev_name != NULL) { spdk_json_write_object_begin(w); - spdk_json_write_name(w, "name"); - spdk_json_write_string(w, bdev_name); + spdk_json_write_named_string(w, "name", bdev_name); - spdk_json_write_name(w, "bytes_read"); - spdk_json_write_uint64(w, stat->bytes_read); + spdk_json_write_named_uint64(w, "bytes_read", stat->bytes_read); - spdk_json_write_name(w, "num_read_ops"); - spdk_json_write_uint64(w, stat->num_read_ops); + spdk_json_write_named_uint64(w, "num_read_ops", stat->num_read_ops); - spdk_json_write_name(w, "bytes_written"); - spdk_json_write_uint64(w, stat->bytes_written); + spdk_json_write_named_uint64(w, "bytes_written", stat->bytes_written); - spdk_json_write_name(w, "num_write_ops"); - spdk_json_write_uint64(w, stat->num_write_ops); + spdk_json_write_named_uint64(w, "num_write_ops", stat->num_write_ops); - spdk_json_write_name(w, "bytes_unmapped"); - spdk_json_write_uint64(w, stat->bytes_unmapped); + spdk_json_write_named_uint64(w, "bytes_unmapped", stat->bytes_unmapped); - spdk_json_write_name(w, "num_unmap_ops"); - spdk_json_write_uint64(w, stat->num_unmap_ops); + spdk_json_write_named_uint64(w, "num_unmap_ops", stat->num_unmap_ops); - spdk_json_write_name(w, "read_latency_ticks"); - spdk_json_write_uint64(w, stat->read_latency_ticks); + spdk_json_write_named_uint64(w, "read_latency_ticks", stat->read_latency_ticks); - spdk_json_write_name(w, "write_latency_ticks"); - spdk_json_write_uint64(w, stat->write_latency_ticks); + spdk_json_write_named_uint64(w, "write_latency_ticks", stat->write_latency_ticks); - spdk_json_write_name(w, "unmap_latency_ticks"); - spdk_json_write_uint64(w, stat->unmap_latency_ticks); + spdk_json_write_named_uint64(w, "unmap_latency_ticks", stat->unmap_latency_ticks); if (spdk_bdev_get_qd_sampling_period(bdev)) { - spdk_json_write_name(w, "queue_depth_polling_period"); - spdk_json_write_uint64(w, spdk_bdev_get_qd_sampling_period(bdev)); + spdk_json_write_named_uint64(w, "queue_depth_polling_period", + spdk_bdev_get_qd_sampling_period(bdev)); - spdk_json_write_name(w, "queue_depth"); - spdk_json_write_uint64(w, spdk_bdev_get_qd(bdev)); + spdk_json_write_named_uint64(w, "queue_depth", spdk_bdev_get_qd(bdev)); - spdk_json_write_name(w, "io_time"); - spdk_json_write_uint64(w, spdk_bdev_get_io_time(bdev)); + spdk_json_write_named_uint64(w, "io_time", spdk_bdev_get_io_time(bdev)); - spdk_json_write_name(w, "weighted_io_time"); - spdk_json_write_uint64(w, spdk_bdev_get_weighted_io_time(bdev)); + spdk_json_write_named_uint64(w, "weighted_io_time", + spdk_bdev_get_weighted_io_time(bdev)); } spdk_json_write_object_end(w); @@ -186,8 +174,7 @@ spdk_rpc_get_bdevs_iostat(struct spdk_jsonrpc_request *request, spdk_json_write_array_begin(w); spdk_json_write_object_begin(w); - spdk_json_write_name(w, "tick_rate"); - spdk_json_write_uint64(w, spdk_get_ticks_hz()); + spdk_json_write_named_uint64(w, "tick_rate", spdk_get_ticks_hz()); spdk_json_write_object_end(w); if (bdev != NULL) { @@ -235,11 +222,9 @@ spdk_rpc_dump_bdev_info(struct spdk_json_write_ctx *w, spdk_json_write_object_begin(w); - spdk_json_write_name(w, "name"); - spdk_json_write_string(w, spdk_bdev_get_name(bdev)); + spdk_json_write_named_string(w, "name", spdk_bdev_get_name(bdev)); - spdk_json_write_name(w, "aliases"); - spdk_json_write_array_begin(w); + spdk_json_write_named_array_begin(w, "aliases"); TAILQ_FOREACH(tmp, spdk_bdev_get_aliases(bdev), tailq) { spdk_json_write_string(w, tmp->alias); @@ -247,14 +232,11 @@ spdk_rpc_dump_bdev_info(struct spdk_json_write_ctx *w, spdk_json_write_array_end(w); - spdk_json_write_name(w, "product_name"); - spdk_json_write_string(w, spdk_bdev_get_product_name(bdev)); + spdk_json_write_named_string(w, "product_name", spdk_bdev_get_product_name(bdev)); - spdk_json_write_name(w, "block_size"); - spdk_json_write_uint32(w, spdk_bdev_get_block_size(bdev)); + spdk_json_write_named_uint32(w, "block_size", spdk_bdev_get_block_size(bdev)); - spdk_json_write_name(w, "num_blocks"); - spdk_json_write_uint64(w, spdk_bdev_get_num_blocks(bdev)); + spdk_json_write_named_uint64(w, "num_blocks", spdk_bdev_get_num_blocks(bdev)); if (!spdk_mem_all_zero(&bdev->uuid, sizeof(bdev->uuid))) { char uuid_str[SPDK_UUID_STRING_LEN]; @@ -263,40 +245,35 @@ spdk_rpc_dump_bdev_info(struct spdk_json_write_ctx *w, spdk_json_write_named_string(w, "uuid", uuid_str); } - spdk_json_write_name(w, "assigned_rate_limits"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "assigned_rate_limits"); spdk_bdev_get_qos_rate_limits(bdev, qos_limits); for (i = 0; i < SPDK_BDEV_QOS_NUM_RATE_LIMIT_TYPES; i++) { - spdk_json_write_name(w, spdk_bdev_get_qos_rpc_type(i)); - spdk_json_write_uint64(w, qos_limits[i]); + spdk_json_write_named_uint64(w, spdk_bdev_get_qos_rpc_type(i), qos_limits[i]); } spdk_json_write_object_end(w); - spdk_json_write_name(w, "claimed"); - spdk_json_write_bool(w, (bdev->internal.claim_module != NULL)); + spdk_json_write_named_bool(w, "claimed", (bdev->internal.claim_module != NULL)); - spdk_json_write_name(w, "supported_io_types"); - spdk_json_write_object_begin(w); - spdk_json_write_name(w, "read"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_READ)); - spdk_json_write_name(w, "write"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_WRITE)); - spdk_json_write_name(w, "unmap"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_UNMAP)); - spdk_json_write_name(w, "write_zeroes"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_WRITE_ZEROES)); - spdk_json_write_name(w, "flush"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_FLUSH)); - spdk_json_write_name(w, "reset"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_RESET)); - spdk_json_write_name(w, "nvme_admin"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_NVME_ADMIN)); - spdk_json_write_name(w, "nvme_io"); - spdk_json_write_bool(w, spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_NVME_IO)); + spdk_json_write_named_object_begin(w, "supported_io_types"); + spdk_json_write_named_bool(w, "read", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_READ)); + spdk_json_write_named_bool(w, "write", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_WRITE)); + spdk_json_write_named_bool(w, "unmap", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_UNMAP)); + spdk_json_write_named_bool(w, "write_zeroes", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_WRITE_ZEROES)); + spdk_json_write_named_bool(w, "flush", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_FLUSH)); + spdk_json_write_named_bool(w, "reset", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_RESET)); + spdk_json_write_named_bool(w, "nvme_admin", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_NVME_ADMIN)); + spdk_json_write_named_bool(w, "nvme_io", + spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_NVME_IO)); spdk_json_write_object_end(w); - spdk_json_write_name(w, "driver_specific"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "driver_specific"); spdk_bdev_dump_info_json(bdev, w); spdk_json_write_object_end(w); diff --git a/lib/bdev/split/vbdev_split.c b/lib/bdev/split/vbdev_split.c index 2566d6f095..6fd94b37f7 100644 --- a/lib/bdev/split/vbdev_split.c +++ b/lib/bdev/split/vbdev_split.c @@ -178,13 +178,10 @@ vbdev_split_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) struct spdk_bdev *split_base_bdev = spdk_bdev_part_get_base_bdev(part); uint64_t offset_blocks = spdk_bdev_part_get_offset_blocks(part); - spdk_json_write_name(w, "split"); - spdk_json_write_object_begin(w); + spdk_json_write_named_object_begin(w, "split"); - spdk_json_write_name(w, "base_bdev"); - spdk_json_write_string(w, spdk_bdev_get_name(split_base_bdev)); - spdk_json_write_name(w, "offset_blocks"); - spdk_json_write_uint64(w, offset_blocks); + spdk_json_write_named_string(w, "base_bdev", spdk_bdev_get_name(split_base_bdev)); + spdk_json_write_named_uint64(w, "offset_blocks", offset_blocks); spdk_json_write_object_end(w); diff --git a/lib/bdev/virtio/bdev_virtio_scsi.c b/lib/bdev/virtio/bdev_virtio_scsi.c index 7c176a64ff..a667ca4e26 100644 --- a/lib/bdev/virtio/bdev_virtio_scsi.c +++ b/lib/bdev/virtio/bdev_virtio_scsi.c @@ -2002,8 +2002,7 @@ bdev_virtio_scsi_dev_list(struct spdk_json_write_ctx *w) TAILQ_FOREACH(svdev, &g_virtio_scsi_devs, tailq) { spdk_json_write_object_begin(w); - spdk_json_write_name(w, "name"); - spdk_json_write_string(w, svdev->vdev.name); + spdk_json_write_named_string(w, "name", svdev->vdev.name); virtio_dev_dump_json_info(&svdev->vdev, w);