mdadm/tests/07reshape5intr
NeilBrown 7204495377 Fix writing of second backup superblock during grow
There 'rv' tests were confused and sometimes wrong.
This resulted in not writing the second bsb.

Also fix the test script so the the critical section is long enough
that we have some hope of interrupting it.

Signed-off-by: NeilBrown <neilb@suse.de>
2010-08-05 21:39:17 +10:00

40 lines
850 B
Plaintext

#
# test interrupting and restarting raid5 reshape.
set -x
devs="$dev1"
st=UU
for disks in 2 3 4 5
do
eval devs=\"$devs \$dev$disks\"
st=U$st
for d in $devs
do dd if=/dev/urandom of=$d bs=1024 || true
done
case $disks in
2 | 3) chunk=1024;;
4 ) chunk=512;;
5 ) chunk=256;;
esac
mdadm -CR $md0 -amd -l5 -c $chunk -n$disks --assume-clean $devs
mdadm $md0 --add $dev6
echo 20 > /proc/sys/dev/raid/speed_limit_max
mdadm --grow $md0 -n $[disks+1]
check reshape
check state $st
mdadm --stop $md0
mdadm --assemble $md0 $devs $dev6
check reshape
echo 2000 > /proc/sys/dev/raid/speed_limit_max
check wait
echo check > /sys/block/md0/md/sync_action
check wait
mm=`cat /sys/block/md0/md/mismatch_cnt`
if [ $mm -gt 0 ]
then echo >&2 "ERROR mismatch_cnt non-zero : $mm" ; exit 1
fi
mdadm -S $md0
done