summaryrefslogtreecommitdiffstats
path: root/tests/03r5assem
diff options
context:
space:
mode:
Diffstat (limited to 'tests/03r5assem')
-rw-r--r--tests/03r5assem110
1 files changed, 110 insertions, 0 deletions
diff --git a/tests/03r5assem b/tests/03r5assem
new file mode 100644
index 0000000..5ca5ddd
--- /dev/null
+++ b/tests/03r5assem
@@ -0,0 +1,110 @@
+set -e
+
+# create a raid5 array and assemble it in various ways,
+# including with missing devices.
+
+$mdadm -CR $md1 -l5 -n3 $dev0 $dev1 $dev2
+tst="$check raid5 ;sh tests/testdev $md1 2 $mdsize0 64 ; $mdadm -S $md1"
+uuid=`$mdadm -Db $md1 | sed 's/.*UUID=//'`
+$check wait
+eval $tst
+
+$mdadm -A $md1 $dev0 $dev1 $dev2
+eval $tst
+
+$mdadm -A $md1 -u $uuid $devlist
+eval $tst
+
+$mdadm -A $md1 -m 1 $devlist
+eval $tst
+
+
+conf=$targetdir/mdadm.conf
+{
+ echo DEVICE $devlist
+ echo array $md1 UUID=$uuid
+} > $conf
+
+$mdadm -As -c $conf $md1
+eval $tst
+
+{
+ echo DEVICE $devlist
+ echo array $md1 super-minor=1
+} > $conf
+
+$mdadm -As -c $conf
+eval $tst
+
+{
+ echo DEVICE $devlist
+ echo array $md1 devices=$dev0,$dev1,$dev2
+} > $conf
+
+$mdadm -As -c $conf
+
+echo "DEVICE $devlist" > $conf
+$mdadm -Db $md1 >> $conf
+eval $tst
+
+$mdadm --assemble --scan --config=$conf $md1
+eval $tst
+
+echo " metadata=0.90 devices=$dev0,$dev1,$dev2" >> $conf
+$mdadm --assemble --scan --config=$conf $md1
+eval $tst
+
+### Now with a missing device
+
+$mdadm -AR $md1 $dev0 $dev2 #
+$check state U_U
+eval $tst
+
+$mdadm -A $md1 -u $uuid $devlist
+$check state U_U
+eval $tst
+
+$mdadm -A $md1 -m 1 $devlist
+$check state U_U
+eval $tst
+
+
+conf=$targetdir/mdadm.conf
+{
+ echo DEVICE $devlist
+ echo array $md1 UUID=$uuid
+} > $conf
+
+$mdadm -As -c $conf $md1
+$check state U_U
+eval $tst
+
+{
+ echo DEVICE $devlist
+ echo array $md1 super-minor=1
+} > $conf
+
+$mdadm -As -c $conf
+$check state U_U
+eval $tst
+
+{
+ echo DEVICE $devlist
+ echo array $md1 devices=$dev0,$dev1,$dev2
+} > $conf
+
+$mdadm -As -c $conf
+
+echo "DEVICE $devlist" > $conf
+$mdadm -Db $md1 >> $conf
+$check state U_U
+eval $tst
+
+$mdadm --assemble --scan --config=$conf $md1
+$check state U_U
+eval $tst
+
+echo " metadata=0.90 devices=$dev0,$dev1,$dev2" >> $conf
+$mdadm --assemble --scan --config=$conf $md1
+$check state U_U
+eval $tst