]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdadm/tests: 03assem-incr enhance
authorXiao Ni <xni@redhat.com>
Wed, 22 May 2024 08:50:44 +0000 (16:50 +0800)
committerMariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Fri, 24 May 2024 08:05:19 +0000 (10:05 +0200)
It fails when hostname lenght > 32. Because the super1 metadata name
doesn't include hostname when hostname length > 32. Then mdadm thinks
the array is a foreign array if no device link is specified when
assembling the array. It chooses a minor number from 127.

Signed-off-by: Xiao Ni <xni@redhat.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
test
tests/03assem-incr

diff --git a/test b/test
index 814ce1992b0cc29699e2aba10fba7c8bd7cc3314..1fce6be2c4a91d70d1fcc1e8e9919ec7ce41e536 100755 (executable)
--- a/test
+++ b/test
@@ -33,6 +33,9 @@ LVM_VOLGROUP=mdtest
 md0=/dev/md0
 md1=/dev/md1
 md2=/dev/md2
+# if user doesn't specify minor number, mdadm chooses minor number
+# automatically from 127.
+md127=/dev/md127
 mdp0=/dev/md_d0
 mdp1=/dev/md_d1
 
index 38880a7fed101dcc072a7765d7dc54159a1d547c..21215a34f93bbf872f1ffdce4963870f458fa643 100644 (file)
@@ -9,15 +9,21 @@ set -x -e
 levels=(raid0 raid1 raid5)
 
 if [ "$LINEAR" == "yes" ]; then
-  levels+=( linear )
+       levels+=( linear )
 fi
 
 for l in ${levels[@]}
 do
-  mdadm -CR $md0 -l $l -n5 $dev0 $dev1 $dev2 $dev3 $dev4 --assume-clean
-  mdadm -S md0
-  mdadm -I $dev1
-  mdadm -I $dev3
-  mdadm -A /dev/md0  $dev0 $dev1 $dev2 $dev3 $dev4
-  mdadm -S /dev/md0
+       mdadm -CR $md0 -l $l -n5 $dev0 $dev1 $dev2 $dev3 $dev4 --assume-clean
+       mdadm -S $md0
+       mdadm -I $dev1
+       mdadm -I $dev3
+       mdadm -A $md0  $dev0 $dev1 $dev2 $dev3 $dev4
+       # If one array is foreign (metadata name doesn't have the machine's
+       # hostname), mdadm chooses a minor number automatically from 127
+       if [ $is_foreign == "no" ]; then
+               mdadm -S $md0
+       else
+               mdadm -S $md127
+       fi
 done