diff options
Diffstat (limited to 'tests/03r5assem')
-rw-r--r-- | tests/03r5assem | 110 |
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 |