mdadm/tests/03r5assemV1
NeilBrown 0b50d3359a tests/03r5assemV1 - slow down recovery a bit more.
In this test we stop and restart an array that is being recovered,
and we do that several times.  Sometimes it completes the recovery
before we expect and test results are wrong.

So slow it down a bit more.

Signed-off-by: NeilBrown <neilb@suse.de>
2011-12-23 06:41:52 +11:00

127 lines
2.2 KiB
Plaintext

# create a v-1 raid5 array and assemble in various ways
mdadm -CR -e1 --name one $md1 -l5 -n3 -x2 $dev0 $dev1 $dev2 $dev3 $dev4
tst="check raid5 ;testdev $md1 2 $mdsize1 512 ; mdadm -S $md1"
uuid=`mdadm -Db $md1 | sed 's/.*UUID=//'`
check wait
eval $tst
mdadm -A $md1 $dev0 $dev1 $dev2
mdadm $md1 --add $dev3 $dev4
check spares 2
eval $tst
mdadm -A $md1 -u $uuid $devlist
check spares 2
eval $tst
mdadm -A $md1 --name one $devlist
check spares 2
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 name=one
} > $conf
mdadm -As -c $conf
eval $tst
{
echo DEVICE $devlist
echo array $md1 devices=$dev0,$dev1,$dev2,$dev3,$dev4
} > $conf
mdadm -As -c $conf
echo "DEVICE $devlist" > $conf
mdadm -Db $md1 >> $conf
eval $tst
mdadm --assemble --scan --config=$conf $md1
eval $tst
echo PING >&2
echo " metadata=1.0 devices=$dev0,$dev1,$dev2,$dev3,$dev4" >> $conf
mdadm --assemble --scan --config=$conf $md1
eval $tst
### Now with a missing device
# We don't want the recovery to complete while we are
# messing about here.
echo 1000 > /proc/sys/dev/raid/speed_limit_max
mdadm -AR $md1 $dev0 $dev2 $dev3 $dev4 #
check state U_U
check spares 1
eval $tst
mdadm -A $md1 -u $uuid $devlist
check state U_U
eval $tst
mdadm -A $md1 --name=one $devlist
check state U_U
check spares 1
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 name=one
} > $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=1.0 devices=$dev0,$dev1,$dev2" >> $conf
mdadm --assemble --scan --config=$conf $md1
check state U_U
eval $tst
# And now assemble with -I
mdadm -Ss
mdadm -I -c $conf $dev0
mdadm -I -c $conf $dev1
mdadm -I -c $conf $dev2
eval $tst
echo 2000 > /proc/sys/dev/raid/speed_limit_max