From: Santosh Sivaraj <santosh@fossix.org>
To: Linux NVDIMM <linux-nvdimm@lists.01.org>,
Vishal Verma <vishal.l.verma@intel.com>,
Vaibhav Jain <vaibhav@linux.ibm.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>,
Harish Sriram <harish@linux.ibm.com>,
Shivaprasad G Bhat <sbhat@linux.ibm.com>
Cc: Santosh Sivaraj <santosh@fossix.org>
Subject: [PATCH RFC ndctl 4/9] test/libndctl: search by handle instead of range index
Date: Wed, 7 Oct 2020 09:52:51 +0530 [thread overview]
Message-ID: <20201007042256.1110626-4-santosh@fossix.org> (raw)
In-Reply-To: <20201007042256.1110626-1-santosh@fossix.org>
When there is no-interleave support, there is no range index.
Signed-off-by: Santosh Sivaraj <santosh@fossix.org>
---
test/libndctl.c | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/test/libndctl.c b/test/libndctl.c
index d508948..1a5a267 100644
--- a/test/libndctl.c
+++ b/test/libndctl.c
@@ -495,6 +495,26 @@ static struct ndctl_region *get_pmem_region_by_range_index(struct ndctl_bus *bus
return NULL;
}
+static struct ndctl_region *get_pmem_region_by_dimm_handle(struct ndctl_bus *bus,
+ unsigned int handle)
+{
+ struct ndctl_region *region;
+
+ ndctl_region_foreach(bus, region) {
+ struct ndctl_mapping *map;
+
+ if (ndctl_region_get_type(region) != ND_DEVICE_REGION_PMEM)
+ continue;
+ ndctl_mapping_foreach(region, map) {
+ struct ndctl_dimm *dimm = ndctl_mapping_get_dimm(map);
+
+ if (ndctl_dimm_get_handle(dimm) == handle)
+ return region;
+ }
+ }
+ return NULL;
+}
+
static struct ndctl_region *get_blk_region_by_dimm_handle(struct ndctl_bus *bus,
unsigned int handle)
{
@@ -532,8 +552,12 @@ static int check_regions(struct ndctl_bus *bus, struct region *regions, int n,
struct ndctl_interleave_set *iset;
char devname[50];
- if (strcmp(regions[i].type, "pmem") == 0)
- region = get_pmem_region_by_range_index(bus, regions[i].range_index);
+ if (strcmp(regions[i].type, "pmem") == 0) {
+ if (ndctl_bus_has_nfit(bus))
+ region = get_pmem_region_by_range_index(bus, regions[i].range_index);
+ else
+ region = get_pmem_region_by_dimm_handle(bus, regions[i].handle);
+ }
else
region = get_blk_region_by_dimm_handle(bus, regions[i].handle);
@@ -2668,6 +2692,10 @@ static int do_test1(struct ndctl_ctx *ctx, struct ndctl_test *test)
if (ndctl_test_attempt(test, KERNEL_VERSION(4, 10, 0)))
dimms1[0].handle = DIMM_HANDLE(1, 0, 0, 0, 0);
+ if (!ndctl_bus_has_nfit(bus))
+ regions1[0].handle = DIMM_HANDLE(1, 0, 0, 0, 0);
+
+
rc = check_dimms(bus, dimms1, ARRAY_SIZE(dimms1), 0, 0, test);
if (rc)
return rc;
--
2.26.2
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
next prev parent reply other threads:[~2020-10-07 4:23 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-06 1:00 [PATCH RFC v3] testing/nvdimm: Add test module for non-nfit platforms Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 1/9] libndctl: test enablement for non-nfit devices Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 2/9] test/core: Don't fail is nfit module is missing Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 3/9] test/libndctl: Don't compare phys-id if no-interleave support Santosh Sivaraj
2020-10-07 4:22 ` Santosh Sivaraj [this message]
2020-10-07 4:22 ` [PATCH RFC ndctl 5/9] test/libndctl: skip smart tests for non-nfit platforms Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 6/9] test/libndctl: Don't check for two formats on a dimm Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 7/9] test/libndctl: Don't check for error flags on non-nfit dimms Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 8/9] test/multi-pmem: fix for no-interleave support Santosh Sivaraj
2020-10-07 4:22 ` [PATCH RFC ndctl 9/9] test: Disable paths which are possibly wrong Santosh Sivaraj
2020-12-07 22:00 ` [PATCH RFC v3] testing/nvdimm: Add test module for non-nfit platforms Dan Williams
2020-12-09 4:17 ` Aneesh Kumar K.V
2020-12-09 4:43 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201007042256.1110626-4-santosh@fossix.org \
--to=santosh@fossix.org \
--cc=aneesh.kumar@linux.ibm.com \
--cc=harish@linux.ibm.com \
--cc=linux-nvdimm@lists.01.org \
--cc=sbhat@linux.ibm.com \
--cc=vaibhav@linux.ibm.com \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.