bdev: Report memory domains in bdev_get_bdevs RPC
This change will simplify development/debugging. Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Change-Id: Ibde374089057a0684391f6519fa4e878d007408d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11049 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
d7ac3d92e4
commit
3185d3c92f
@ -39,6 +39,7 @@
|
||||
#include "spdk/string.h"
|
||||
#include "spdk/base64.h"
|
||||
#include "spdk/bdev_module.h"
|
||||
#include "spdk/dma.h"
|
||||
|
||||
#include "spdk/log.h"
|
||||
|
||||
@ -354,7 +355,8 @@ rpc_dump_bdev_info(struct spdk_json_write_ctx *w,
|
||||
{
|
||||
struct spdk_bdev_alias *tmp;
|
||||
uint64_t qos_limits[SPDK_BDEV_QOS_NUM_RATE_LIMIT_TYPES];
|
||||
int i;
|
||||
struct spdk_memory_domain **domains;
|
||||
int i, rc;
|
||||
|
||||
spdk_json_write_object_begin(w);
|
||||
|
||||
@ -433,6 +435,31 @@ rpc_dump_bdev_info(struct spdk_json_write_ctx *w,
|
||||
spdk_bdev_io_type_supported(bdev, SPDK_BDEV_IO_TYPE_NVME_IO));
|
||||
spdk_json_write_object_end(w);
|
||||
|
||||
rc = spdk_bdev_get_memory_domains(bdev, NULL, 0);
|
||||
if (rc > 0) {
|
||||
domains = calloc(rc, sizeof(struct spdk_memory_domain *));
|
||||
if (domains) {
|
||||
i = spdk_bdev_get_memory_domains(bdev, domains, rc);
|
||||
if (i == rc) {
|
||||
spdk_json_write_named_array_begin(w, "memory_domains");
|
||||
for (i = 0; i < rc; i++) {
|
||||
spdk_json_write_object_begin(w);
|
||||
spdk_json_write_named_string(w, "dma_device_id", spdk_memory_domain_get_dma_device_id(domains[i]));
|
||||
spdk_json_write_named_int32(w, "dma_device_type",
|
||||
spdk_memory_domain_get_dma_device_type(domains[i]));
|
||||
spdk_json_write_object_end(w);
|
||||
}
|
||||
spdk_json_write_array_end(w);
|
||||
} else {
|
||||
SPDK_ERRLOG("Unexpected number of memory domains %d (should be %d)\n", i, rc);
|
||||
}
|
||||
|
||||
free(domains);
|
||||
} else {
|
||||
SPDK_ERRLOG("Memory allocation failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
spdk_json_write_named_object_begin(w, "driver_specific");
|
||||
spdk_bdev_dump_info_json(bdev, w);
|
||||
spdk_json_write_object_end(w);
|
||||
|
Loading…
Reference in New Issue
Block a user