bc084de093
We could not rebase to v73 because there was an incompatible config file change (the file both changed in format and moved location). Unfortunately, that configuration change also added externally facing APIs, and with them, new versioned symbols. As a result, I couldn't pull in all fixes because it would result in an incompatible list of symbols in a given ABI version. Long term, upstream is aware of the config file problem, and is looking to address it by supporting both old and new formats and locations. This update addresses the following reported bugs: - Fix enable-namespace all reporting errors incorrectly - Add support for inject-smart on papr scm Related: rhbz#2040075 Related: rhbz#1873851 Related: rhbz#1880578 Related: rhbz#1922538 Related: rhbz#2087707 Signed-off-by: Bryan Gurney <bgurney@redhat.com>
125 lines
4.7 KiB
Diff
125 lines
4.7 KiB
Diff
Use page size as alignment value
|
|
|
|
BZ:
|
|
Brew:
|
|
|
|
commit fe831b526b88f6ca7a27fdb149b8a7d2ecddbc55
|
|
Author: Santosh Sivaraj <santosh@fossix.org>
|
|
Date: Thu May 13 11:42:18 2021 +0530
|
|
|
|
Use page size as alignment value
|
|
|
|
The alignment sizes passed to ndctl in the tests are all hardcoded to 4k,
|
|
the default page size on x86. Change those to the default page size on that
|
|
architecture (sysconf/getconf). No functional changes otherwise.
|
|
|
|
Link: https://lore.kernel.org/r/20210513061218.760322-4-santosh@fossix.org
|
|
Signed-off-by: Santosh Sivaraj <santosh@fossix.org>
|
|
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
|
|
|
|
diff -up ndctl-71.1/test/dpa-alloc.c.orig ndctl-71.1/test/dpa-alloc.c
|
|
--- ndctl-71.1/test/dpa-alloc.c.orig 2020-12-22 16:44:57.000000000 -0500
|
|
+++ ndctl-71.1/test/dpa-alloc.c 2022-06-06 17:13:12.045108349 -0400
|
|
@@ -38,12 +38,13 @@ static int do_test(struct ndctl_ctx *ctx
|
|
struct ndctl_region *region, *blk_region = NULL;
|
|
struct ndctl_namespace *ndns;
|
|
struct ndctl_dimm *dimm;
|
|
- unsigned long size;
|
|
+ unsigned long size, page_size;
|
|
struct ndctl_bus *bus;
|
|
char uuid_str[40];
|
|
int round;
|
|
int rc;
|
|
|
|
+ page_size = sysconf(_SC_PAGESIZE);
|
|
/* disable nfit_test.1, not used in this test */
|
|
bus = ndctl_bus_get_by_provider(ctx, NFIT_PROVIDER1);
|
|
if (!bus)
|
|
@@ -124,11 +125,11 @@ static int do_test(struct ndctl_ctx *ctx
|
|
return rc;
|
|
}
|
|
ndctl_namespace_disable_invalidate(ndns);
|
|
- rc = ndctl_namespace_set_size(ndns, SZ_4K);
|
|
+ rc = ndctl_namespace_set_size(ndns, page_size);
|
|
if (rc) {
|
|
- fprintf(stderr, "failed to init %s to size: %d\n",
|
|
+ fprintf(stderr, "failed to init %s to size: %lu\n",
|
|
ndctl_namespace_get_devname(ndns),
|
|
- SZ_4K);
|
|
+ page_size);
|
|
return rc;
|
|
}
|
|
namespaces[i].ndns = ndns;
|
|
@@ -150,7 +151,7 @@ static int do_test(struct ndctl_ctx *ctx
|
|
ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns;
|
|
if (i % ARRAY_SIZE(namespaces) == 0)
|
|
round++;
|
|
- size = SZ_4K * round;
|
|
+ size = page_size * round;
|
|
rc = ndctl_namespace_set_size(ndns, size);
|
|
if (rc) {
|
|
fprintf(stderr, "%s: set_size: %lx failed: %d\n",
|
|
@@ -166,7 +167,7 @@ static int do_test(struct ndctl_ctx *ctx
|
|
i--;
|
|
round++;
|
|
ndns = namespaces[i % ARRAY_SIZE(namespaces)].ndns;
|
|
- size = SZ_4K * round;
|
|
+ size = page_size * round;
|
|
rc = ndctl_namespace_set_size(ndns, size);
|
|
if (rc) {
|
|
fprintf(stderr, "%s failed to update while labels full\n",
|
|
@@ -175,7 +176,7 @@ static int do_test(struct ndctl_ctx *ctx
|
|
}
|
|
|
|
round--;
|
|
- size = SZ_4K * round;
|
|
+ size = page_size * round;
|
|
rc = ndctl_namespace_set_size(ndns, size);
|
|
if (rc) {
|
|
fprintf(stderr, "%s failed to reduce size while labels full\n",
|
|
diff -up ndctl-71.1/test/multi-dax.sh.orig ndctl-71.1/test/multi-dax.sh
|
|
--- ndctl-71.1/test/multi-dax.sh.orig 2020-12-22 16:44:57.000000000 -0500
|
|
+++ ndctl-71.1/test/multi-dax.sh 2022-06-06 17:13:12.046108353 -0400
|
|
@@ -12,6 +12,8 @@ check_min_kver "4.13" || do_skip "may la
|
|
|
|
trap 'err $LINENO' ERR
|
|
|
|
+ALIGN_SIZE=`getconf PAGESIZE`
|
|
+
|
|
# setup (reset nfit_test dimms)
|
|
modprobe nfit_test
|
|
$NDCTL disable-region -b $NFIT_TEST_BUS0 all
|
|
@@ -22,9 +24,9 @@ rc=1
|
|
query=". | sort_by(.available_size) | reverse | .[0].dev"
|
|
region=$($NDCTL list -b $NFIT_TEST_BUS0 -t pmem -Ri | jq -r "$query")
|
|
|
|
-json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M)
|
|
+json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M)
|
|
chardev1=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev")
|
|
-json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a 4096 -s 16M)
|
|
+json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -r $region -t pmem -m devdax -a $ALIGN_SIZE -s 16M)
|
|
chardev2=$(echo $json | jq ". | select(.mode == \"devdax\") | .daxregion.devices[0].chardev")
|
|
|
|
_cleanup
|
|
diff -up ndctl-71.1/test/sector-mode.sh.orig ndctl-71.1/test/sector-mode.sh
|
|
--- ndctl-71.1/test/sector-mode.sh.orig 2020-12-22 16:44:57.000000000 -0500
|
|
+++ ndctl-71.1/test/sector-mode.sh 2022-06-06 17:13:12.046108353 -0400
|
|
@@ -9,6 +9,8 @@ rc=77
|
|
set -e
|
|
trap 'err $LINENO' ERR
|
|
|
|
+ALIGN_SIZE=`getconf PAGESIZE`
|
|
+
|
|
# setup (reset nfit_test dimms)
|
|
modprobe nfit_test
|
|
$NDCTL disable-region -b $NFIT_TEST_BUS0 all
|
|
@@ -25,7 +27,7 @@ NAMESPACE=$($NDCTL list -b $NFIT_TEST_BU
|
|
REGION=$($NDCTL list -R --namespace=$NAMESPACE | jq -r "(.[]) | .dev")
|
|
echo 0 > /sys/bus/nd/devices/$REGION/read_only
|
|
$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K
|
|
-$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a 4K
|
|
+$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m dax -f -a $ALIGN_SIZE
|
|
$NDCTL create-namespace --no-autolabel -e $NAMESPACE -m sector -f -l 4K
|
|
|
|
_cleanup
|