bdev/nvme: Add cntlid to bdev_get_bdevs and bdev_nvme_get_controllers RPCs

NVMe bdev name already includes the name of the NVMe bdev controller and
the NSID. CNTLID will be a good ID to identify a namespace from a NVMe
bdev when multipath is configured. However, the query RPCs,
bdev_get_bdevs and bdev_nvme_get_controllers had not returned such
information.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I2f2e355ff13f69ced616be803a3152c838cdc980
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12276
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
This commit is contained in:
Shuhei Matsumoto 2022-04-20 14:39:47 +09:00 committed by Tomasz Zawadzki
parent 972a9f6c40
commit 2730f5cac0
2 changed files with 8 additions and 1 deletions

View File

@ -3153,7 +3153,8 @@ Example response:
"trid": {
"trtype": "PCIe",
"traddr": "0000:05:00.0"
}
},
"cntlid": 0
}
]
}

View File

@ -2443,6 +2443,7 @@ nvme_ctrlr_info_json(struct spdk_json_write_ctx *w, struct nvme_ctrlr *nvme_ctrl
{
struct spdk_nvme_transport_id *trid;
const struct spdk_nvme_ctrlr_opts *opts;
const struct spdk_nvme_ctrlr_data *cdata;
spdk_json_write_object_begin(w);
@ -2462,6 +2463,9 @@ nvme_ctrlr_info_json(struct spdk_json_write_ctx *w, struct nvme_ctrlr *nvme_ctrl
nvme_bdev_dump_trid_json(trid, w);
spdk_json_write_object_end(w);
cdata = spdk_nvme_ctrlr_get_data(nvme_ctrlr->ctrlr);
spdk_json_write_named_uint16(w, "cntlid", cdata->cntlid);
opts = spdk_nvme_ctrlr_get_opts(nvme_ctrlr->ctrlr);
spdk_json_write_named_object_begin(w, "host");
spdk_json_write_named_string(w, "nqn", opts->hostnqn);
@ -2516,6 +2520,8 @@ nvme_namespace_info_json(struct spdk_json_write_ctx *w,
spdk_json_write_named_object_begin(w, "ctrlr_data");
spdk_json_write_named_uint16(w, "cntlid", cdata->cntlid);
spdk_json_write_named_string_fmt(w, "vendor_id", "0x%04x", cdata->vid);
snprintf(buf, sizeof(cdata->mn) + 1, "%s", cdata->mn);