From fe37c85f1ffb0b2d04ef60e8ece6a9a44a145cc5 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 5 Jan 2022 13:32:00 -0800 Subject: [PATCH 072/217] ndctl/test: Initialize the label area by default The removal of BLK-mode support causes nfit_test regions to not be 'aliased' by default, which means that the only way to enable labels is to initialize the namespace label index block. In support of that the common 'reset()' helper is updated to initialize v1.1 labels instead of zero them. Additionally, it highlighted that some btt tests have silent assumptions of v1.1 vs v1.2 label support. Add a 'resetV()' alternative to the common 'reset()' function that initializes the label area to v1.2. Link: https://lore.kernel.org/r/164141832017.3990253.10383328274835531066.stgit@dwillia2-desk3.amr.corp.intel.com Tested-by: Alison Schofield Tested-by: Vaibhav Jain Signed-off-by: Dan Williams Signed-off-by: Vishal Verma --- test/btt-errors.sh | 4 ++-- test/btt-pad-compat.sh | 2 +- test/common | 11 +++++++++-- test/label-compat.sh | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/test/btt-errors.sh b/test/btt-errors.sh index 5a20d26..6e69178 100755 --- a/test/btt-errors.sh +++ b/test/btt-errors.sh @@ -45,7 +45,7 @@ trap 'err $LINENO cleanup' ERR # setup (reset nfit_test dimms) modprobe nfit_test -reset +resetV rc=1 @@ -124,7 +124,7 @@ dd if=$MNT/$FILE of=/dev/null iflag=direct bs=4096 count=1 # reset everything to get a clean log if grep -q "$MNT" /proc/mounts; then umount $MNT; fi -reset +resetV dev="x" json=$($NDCTL create-namespace -b $NFIT_TEST_BUS0 -t pmem -m sector) eval "$(echo "$json" | json2var)" diff --git a/test/btt-pad-compat.sh b/test/btt-pad-compat.sh index be538b7..005316a 100755 --- a/test/btt-pad-compat.sh +++ b/test/btt-pad-compat.sh @@ -148,7 +148,7 @@ do_tests() verify_idx 0 1 # do the same with an old format namespace - reset + resetV create_oldfmt_ns verify_idx 0 2 diff --git a/test/common b/test/common index 3c54d63..b6d4712 100644 --- a/test/common +++ b/test/common @@ -49,14 +49,21 @@ err() reset() { $NDCTL disable-region -b $NFIT_TEST_BUS0 all - $NDCTL zero-labels -b $NFIT_TEST_BUS0 all + $NDCTL init-labels -f -b $NFIT_TEST_BUS0 all + $NDCTL enable-region -b $NFIT_TEST_BUS0 all +} + +resetV() +{ + $NDCTL disable-region -b $NFIT_TEST_BUS0 all + $NDCTL init-labels -f -V 1.2 -b $NFIT_TEST_BUS0 all $NDCTL enable-region -b $NFIT_TEST_BUS0 all } reset1() { $NDCTL disable-region -b $NFIT_TEST_BUS1 all - $NDCTL zero-labels -b $NFIT_TEST_BUS1 all + $NDCTL init-labels -f -b $NFIT_TEST_BUS1 all $NDCTL enable-region -b $NFIT_TEST_BUS1 all } diff --git a/test/label-compat.sh b/test/label-compat.sh index 8ab2858..7ae4d5e 100755 --- a/test/label-compat.sh +++ b/test/label-compat.sh @@ -17,7 +17,7 @@ trap 'err $LINENO' ERR # setup (reset nfit_test dimms) modprobe nfit_test $NDCTL disable-region -b $NFIT_TEST_BUS0 all -$NDCTL zero-labels -b $NFIT_TEST_BUS0 all +$NDCTL init-labels -f -b $NFIT_TEST_BUS0 all # grab the largest pmem region on -b $NFIT_TEST_BUS0 query=". | sort_by(.available_size) | reverse | .[0].dev" -- 2.27.0