Commit 3886567d authored by Atul Malakar's avatar Atul Malakar Committed by Tomasz Zawadzki
Browse files

bdev: RPC bdev_get_bdevs modified to print all io types



Previously, bdev_get_bdevs RPC provided information of limited IO types.

To fix this, rpc_dump_bdev_info() is modified to print out all of the
io types from spdk_bdev_io_type enum.

It uses spdk_bdev_get_io_type_name helper function from previous patch.

Change-Id: I4f87854a89d97acf29a23c0503092f790ff304f5
Signed-off-by: default avatarAtul Malakar <a.malakar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23661


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent db8a9711
Loading
Loading
Loading
Loading
+6 −22
Original line number Diff line number Diff line
@@ -633,6 +633,8 @@ rpc_dump_bdev_info(void *ctx, struct spdk_bdev *bdev)
	struct spdk_bdev_alias *tmp;
	uint64_t qos_limits[SPDK_BDEV_QOS_NUM_RATE_LIMIT_TYPES];
	struct spdk_memory_domain **domains;
	enum spdk_bdev_io_type io_type;
	const char *name = NULL;
	int i, rc;

	spdk_json_write_object_begin(w);
@@ -691,28 +693,10 @@ rpc_dump_bdev_info(void *ctx, struct spdk_bdev *bdev)
	}

	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, "compare",
				   spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_COMPARE));
	spdk_json_write_named_bool(w, "compare_and_write",
				   spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_COMPARE_AND_WRITE));
	spdk_json_write_named_bool(w, "abort",
				   spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_ABORT));
	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));
	for (io_type = SPDK_BDEV_IO_TYPE_READ; io_type < SPDK_BDEV_NUM_IO_TYPES; ++io_type) {
		name = spdk_bdev_get_io_type_name(io_type);
		spdk_json_write_named_bool(w, name, spdk_bdev_io_type_supported(bdev, io_type));
	}
	spdk_json_write_object_end(w);

	rc = spdk_bdev_get_memory_domains(bdev, NULL, 0);
+10 −1
Original line number Diff line number Diff line
@@ -23,14 +23,23 @@
    "abort": $(S),
    "compare": $(S),
    "compare_and_write": $(S),
    "copy": $(S),
    "flush": $(S),
    "get_zone_info": $(S),
    "nvme_admin": $(S),
    "nvme_io": $(S),
    "nvme_io_md": $(S),
    "nvme_iov_md": $(S),
    "read": $(S),
    "reset": $(S),
    "seek_data": $(S),
    "seek_hole": $(S),
    "unmap": $(S),
    "write": $(S),
    "write_zeroes": $(S)
    "write_zeroes": $(S),
    "zcopy": $(S),
    "zone_append": $(S),
    "zone_management": $(S)
  },
  "uuid": "$(UUID)",
  "zoned": false