From 6c6efee89d8b5c65c5000f1e4e0c66f9279433cc Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 10 Sep 2020 20:34:00 +0900 Subject: [PATCH] lib/nvme: Set Add ANA log page to be supported by controller If ctrlr->cdata.cmic.ana_reporting is 1, set the corresponding field to true. Then use its API in the identify application. Signed-off-by: Shuhei Matsumoto Change-Id: I4e74bc4c114883e4aecdbee7a6f1a02027db23a5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4156 Community-CI: Broadcom CI Reviewed-by: Changpeng Liu Reviewed-by: Ben Walker Reviewed-by: Aleksey Marchuk Tested-by: SPDK CI Jenkins --- examples/nvme/identify/identify.c | 2 +- lib/nvme/nvme_ctrlr.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/nvme/identify/identify.c b/examples/nvme/identify/identify.c index 6f58f06e2..06d828b29 100644 --- a/examples/nvme/identify/identify.c +++ b/examples/nvme/identify/identify.c @@ -458,7 +458,7 @@ get_log_pages(struct spdk_nvme_ctrlr *ctrlr) } } - if (cdata->cmic.ana_reporting) { + if (spdk_nvme_ctrlr_is_log_page_supported(ctrlr, SPDK_NVME_LOG_ASYMMETRIC_NAMESPACE_ACCESS)) { /* We always set RGO (Return Groups Only) to 0 in this tool, an ANA group * descriptor is returned only if that ANA group contains namespaces * that are attached to the controller processing the command, and diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 14c159421..1d6f49552 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -690,6 +690,9 @@ nvme_ctrlr_set_supported_log_pages(struct spdk_nvme_ctrlr *ctrlr) if (ctrlr->cdata.vid == SPDK_PCI_VID_INTEL && !(ctrlr->quirks & NVME_INTEL_QUIRK_NO_LOG_PAGES)) { rc = nvme_ctrlr_set_intel_support_log_pages(ctrlr); } + if (ctrlr->cdata.cmic.ana_reporting) { + ctrlr->log_page_supported[SPDK_NVME_LOG_ASYMMETRIC_NAMESPACE_ACCESS] = true; + } return rc; }