mdadm/tests/05r1-re-add
NeilBrown 4108d695e3 tests: flushbufs after writing zeros
sometimes the removed device is re-added before the writes
get all the way to the md device - so the array doesn't need
any recovery and the test fails.
So flush first to be safe.

Signed-off-by: NeilBrown <neilb@suse.com>
2015-07-23 11:09:19 +10:00

40 lines
887 B
Plaintext

#
# create a raid1, remove a drive, and readd it.
# resync should be instant.
# Then do some IO first. Resync should still be very fast
#
mdadm -CR $md0 -l1 -n2 -binternal --bitmap-chunk=4 -d1 $dev1 $dev2
check resync
check wait
testdev $md0 1 $mdsize1a 64
sleep 4
mdadm $md0 -f $dev2
sleep 1
mdadm $md0 -r $dev2
mdadm $md0 -a $dev2
#cat /proc/mdstat
check nosync
mdadm $md0 -f $dev2
sleep 1
mdadm $md0 -r $dev2
testdev $md0 1 $mdsize1a 64
mdadm $md0 -a $dev2
check wait
blockdev --flushbufs $dev1 $dev2
cmp --ignore-initial=$[64*512] --bytes=$[$mdsize0*1024] $dev1 $dev2
mdadm $md0 -f $dev2; sleep 1
mdadm $md0 -r $dev2
if dd if=/dev/zero of=$md0 ; then : ; fi
blockdev --flushbufs $md0 # ensure writes have been sent.
mdadm $md0 -a $dev2
check recovery
check wait
blockdev --flushbufs $dev1 $dev2
cmp --ignore-initial=$[64*512] --bytes=$[$mdsize0*1024] $dev1 $dev2
mdadm -S $md0