mdadm/tests/05r1-failfast

75 lines
1.6 KiB
Plaintext

# create a simple mirror and check failfast flag works
mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1
check raid1
if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
then
die "failfast missing"
fi
# Removing works with the failfast flag
mdadm $md0 -f $dev0
mdadm $md0 -r $dev0
if grep -v failfast /sys/block/md0/md/rd1/state > /dev/null
then
die "failfast missing"
fi
# Adding works with the failfast flag
mdadm $md0 -a --failfast $dev0
check wait
if grep -v failfast /sys/block/md0/md/rd0/state > /dev/null
then
die "failfast missing"
fi
mdadm -S $md0
# Assembling works with the failfast flag
mdadm -A $md0 $dev0 $dev1
check raid1
if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
then
die "failfast missing"
fi
# Adding works with the nofailfast flag
mdadm $md0 -f $dev0
mdadm $md0 -r $dev0
mdadm $md0 -a --nofailfast $dev0
check wait
if grep failfast /sys/block/md0/md/rd0/state > /dev/null
then
die "failfast should be missing"
fi
# Assembling with one faulty slave works with the failfast flag
mdadm $md0 -f $dev0
mdadm $md0 -r $dev0
mdadm -S $md0
mdadm -A $md0 $dev0 $dev1
check raid1
mdadm -S $md0
# Spare works with the failfast flag
mdadm -CR $md0 -e1.2 --level=raid1 --failfast -n2 $dev0 $dev1
check raid1
mdadm $md0 -a --failfast $dev2
check wait
check spares 1
if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
then
die "failfast missing"
fi
# Grow works with the failfast flag
mdadm -G $md0 --raid-devices=3
check wait
if grep -v failfast /sys/block/md0/md/rd*/state > /dev/null
then
die "failfast missing"
fi
mdadm -S $md0
exit 0