anitazha / rpms / ndctl

Forked from rpms/ndctl a year ago
Clone

Blame SOURCES/fe831b5-Use-page-size-as-alignment-value.patch

0dc130
Use page size as alignment value
0dc130
0dc130
BZ: 
0dc130
Brew: 
0dc130
0dc130
commit fe831b526b88f6ca7a27fdb149b8a7d2ecddbc55
0dc130
Author: Santosh Sivaraj <santosh@fossix.org>
0dc130
Date:   Thu May 13 11:42:18 2021 +0530
0dc130
0dc130
    Use page size as alignment value
0dc130
    
0dc130
    The alignment sizes passed to ndctl in the tests are all hardcoded to 4k,
0dc130
    the default page size on x86. Change those to the default page size on that
0dc130
    architecture (sysconf/getconf). No functional changes otherwise.
0dc130
    
0dc130
    Link: https://lore.kernel.org/r/20210513061218.760322-4-santosh@fossix.org
0dc130
    Signed-off-by: Santosh Sivaraj <santosh@fossix.org>
0dc130
    Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
0dc130
0dc130
diff -up ndctl-71.1/test/dpa-alloc.c.orig ndctl-71.1/test/dpa-alloc.c
0dc130
--- ndctl-71.1/test/dpa-alloc.c.orig	2020-12-22 16:44:57.000000000 -0500
0dc130
+++ ndctl-71.1/test/dpa-alloc.c	2022-06-06 17:13:12.045108349 -0400
0dc130
@@ -38,12 +38,13 @@ static int do_test(struct ndctl_ctx *ctx
0dc130
 	struct ndctl_region *region, *blk_region = NULL;
0dc130
 	struct ndctl_namespace *ndns;
0dc130
 	struct ndctl_dimm *dimm;
0dc130
-	unsigned long size;
0dc130
+	unsigned long size, page_size;
0dc130
 	struct ndctl_bus *bus;
0dc130
 	char uuid_str[40];
0dc130
 	int round;
0dc130
 	int rc;
0dc130
 
0dc130
+	page_size = sysconf(_SC_PAGESIZE);
0dc130
 	/* disable nfit_test.1, not used in this test */
0dc130
 	bus = ndctl_bus_get_by_provider(ctx, NFIT_PROVIDER1);
0dc130
 	if (!bus)
0dc130
@@ -124,11 +125,11 @@ static int do_test(struct ndctl_ctx *ctx
0dc130
 			return rc;
0dc130
 		}
0dc130
 		ndctl_namespace_disable_invalidate(ndns);
0dc130
-		rc = ndctl_namespace_set_size(ndns, SZ_4K);
0dc130
+		rc = ndctl_namespace_set_size(ndns, page_size);
0dc130
 		if (rc) {
0dc130
-			fprintf(stderr, "failed to init %s to size: %d\n",
0dc130
+			fprintf(stderr, "failed to init %s to size: %lu\n",
0dc130
 					ndctl_namespace_get_devname(ndns),
0dc130
-					SZ_4K);
0dc130
+					page_size);
0dc130
 			return rc;
0dc130
 		}
0dc130
 		namespaces[i].ndns = ndns;
0dc130
@@ -150,7 +151,7 @@ static int do_test(struct ndctl_ctx *ctx
0dc130
 		ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns;
0dc130
 		if (i % ARRAY_SIZE(namespaces) == 0)
0dc130
 			round++;
0dc130
-		size = SZ_4K * round;
0dc130
+		size = page_size * round;
0dc130
 		rc = ndctl_namespace_set_size(ndns, size);
0dc130
 		if (rc) {
0dc130
 			fprintf(stderr, "%s: set_size: %lx failed: %d\n",
0dc130
@@ -166,7 +167,7 @@ static int do_test(struct ndctl_ctx *ctx
0dc130
 	i--;
0dc130
 	round++;
0dc130
 	ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns;
0dc130
-	size = SZ_4K * round;
0dc130
+	size = page_size * round;
0dc130
 	rc = ndctl_namespace_set_size(ndns, size);
0dc130
 	if (rc) {
0dc130
 		fprintf(stderr, "%s failed to update while labels full\n",
0dc130
@@ -175,7 +176,7 @@ static int do_test(struct ndctl_ctx *ctx
0dc130
 	}
0dc130
 
0dc130
 	round--;
0dc130
-	size = SZ_4K * round;
0dc130
+	size = page_size * round;
0dc130
 	rc = ndctl_namespace_set_size(ndns, size);
0dc130
 	if (rc) {
0dc130
 		fprintf(stderr, "%s failed to reduce size while labels full\n",
0dc130
diff -up ndctl-71.1/test/multi-dax.sh.orig ndctl-71.1/test/multi-dax.sh
0dc130
--- ndctl-71.1/test/multi-dax.sh.orig	2020-12-22 16:44:57.000000000 -0500
0dc130
+++ ndctl-71.1/test/multi-dax.sh	2022-06-06 17:13:12.046108353 -0400
0dc130
@@ -12,6 +12,8 @@ check_min_kver "4.13" || do_skip "may la
0dc130
 
0dc130
 trap 'err $LINENO' ERR
0dc130
 
0dc130
+ALIGN_SIZE=`getconf PAGESIZE`
0dc130
+
0dc130
 # setup (reset nfit_test dimms)
0dc130
 modprobe nfit_test
0dc130
 $NDCTL disable-region -b $NFIT_TEST_BUS0 all
0dc130
@@ -22,9 +24,9 @@ rc=1
0dc130
 query=". | sort_by(.available_size) | reverse | .[0].dev"
0dc130
 region=$($NDCTL list -b $NFIT_TEST_BUS0 -t pmem -Ri | jq -r "$query")
0dc130
 
0dc130
-json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M)
0dc130
+json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M)
0dc130
 chardev1=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev")
0dc130
-json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M)
0dc130
+json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M)
0dc130
 chardev2=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev")
0dc130
 
0dc130
 _cleanup
0dc130
diff -up ndctl-71.1/test/sector-mode.sh.orig ndctl-71.1/test/sector-mode.sh
0dc130
--- ndctl-71.1/test/sector-mode.sh.orig	2020-12-22 16:44:57.000000000 -0500
0dc130
+++ ndctl-71.1/test/sector-mode.sh	2022-06-06 17:13:12.046108353 -0400
0dc130
@@ -9,6 +9,8 @@ rc=77
0dc130
 set -e
0dc130
 trap 'err $LINENO' ERR
0dc130
 
0dc130
+ALIGN_SIZE=`getconf PAGESIZE`
0dc130
+
0dc130
 # setup (reset nfit_test dimms)
0dc130
 modprobe nfit_test
0dc130
 $NDCTL disable-region -b $NFIT_TEST_BUS0 all
0dc130
@@ -25,7 +27,7 @@ NAMESPACE=$($NDCTL list -b $NFIT_TEST_BU
0dc130
 REGION=$($NDCTL list -R --namespace=$NAMESPACE | jq -r "(.[]) | .dev")
0dc130
 echo 0 > /sys/bus/nd/devices/$REGION/read_only
0dc130
 $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K
0dc130
-$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a 4K
0dc130
+$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a $ALIGN_SIZE
0dc130
 $NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K
0dc130
 
0dc130
 _cleanup