]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
tests/04update-metadata skip linear
authorXiao Ni <xni@redhat.com>
Wed, 22 May 2024 08:50:49 +0000 (16:50 +0800)
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Fri, 24 May 2024 08:07:22 +0000 (10:07 +0200)
Add one check that if kernel doesn't support linear/multipath, it can
skip linear/multipath testing.

Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
test
tests/04update-metadata
tests/func.sh

diff --git a/test b/test
index 1fce6be2c4a91d70d1fcc1e8e9919ec7ce41e536..f09994e781072cfe4e75a37af1d80ae10ca59617 100755 (executable)
--- a/test
+++ b/test
@@ -17,6 +17,9 @@ devlist=
 # device node will be /dev/md127 (127 is choosed by mdadm autumatically)
 is_foreign="no"
 
+skipping_linear="no"
+skipping_multipath="no"
+
 savelogs=0
 exitonerror=1
 ctrl_c_error=0
index 2b72a303b6a05b3521d4ab6d8308209716f2025c..c748770cfda7f909e547484c3ee4550566eb2208 100644 (file)
@@ -8,24 +8,29 @@ set -xe
 
 dlist="$dev0 $dev1 $dev2 $dev3"
 
-for ls in linear/4 raid1/1 raid5/3 raid6/2
+if [ $skipping_linear == "yes" ]; then
+       level_list="raid1/1 raid5/3 raid6/2"
+else
+       level_list="linear/4 raid1/1 raid5/3 raid6/2"
+fi
+for ls in $level_list
 do
-  s=${ls#*/} l=${ls%/*}
-  if [[ $l == 'raid1' ]]; then
-       mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
-  else
-       mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
-  fi
-  testdev $md0 $s 19904 64
-  mdadm -S $md0
-  mdadm -A $md0 --update=metadata $dlist
-  testdev $md0 $s 19904 64 check
-  mdadm -S $md0
+       s=${ls#*/} l=${ls%/*}
+       if [[ $l == 'raid1' ]]; then
+               mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
+       else
+               mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
+       fi
+       testdev $md0 $s 19904 64
+       mdadm -S $md0
+       mdadm -A $md0 --update=metadata $dlist
+       testdev $md0 $s 19904 64 check
+       mdadm -S $md0
 done
 
 if mdadm -A $md0 --update=metadata $dlist
 then echo >&2 should fail with v1.0 metadata
-     exit 1
+       exit 1
 fi
 
 mdadm -CR -e 0.90 $md0 --level=6 -n4 -c32 $dlist
@@ -33,7 +38,7 @@ mdadm -S $md0
 
 if mdadm -A $md0 --update=metadata $dlist
 then echo >&2 should fail during resync
-     exit 1
+       exit 1
 fi
 mdadm -A $md0 $dlist
 mdadm --wait $md0 || true
@@ -48,5 +53,5 @@ mdadm -S $md0
 
 if mdadm -A $md0 --update=metadata $dlist
 then echo >&2 should fail when bitmap present
-     exit 1
+       exit 1
 fi
index cfe83e552a2a0bf55509d31b1c52cd78f825ae45..db55542d40113533b48b2baedbac09791b06d35e 100644 (file)
@@ -125,6 +125,7 @@ check_env() {
                MULTIPATH="yes"
        if [ "$MULTIPATH" != "yes" ]; then
                echo "test: skipping tests for multipath, which is removed in upstream 6.8+ kernels"
+               skipping_multipath="yes"
        fi
 
        # Check whether to run linear tests
@@ -133,6 +134,7 @@ check_env() {
                LINEAR="yes"
        if [ "$LINEAR" != "yes" ]; then
                echo "test: skipping tests for linear, which is removed in upstream 6.8+ kernels"
+               skipping_linear="yes"
        fi
 }