74 lines
1.6 KiB
Text
74 lines
1.6 KiB
Text
|
|
# 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
|