bdev: Use spdk_json_write_named_* APIs throughout

Change-Id: I865dd025f2818fcdd65cbb655c7bd03d836f433f
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/442938
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Shuhei Matsumoto 2019-02-01 14:34:45 +09:00 committed by Darek Stojaczyk
parent 326d4eb504
commit 21c74c8c0f
14 changed files with 84 additions and 148 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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) {

View File

@ -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);
}

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);