# make a raid5 array, byte swap the superblocks, then assemble...
mdadm -CR $md0 -e 0.90 -l5 -n4 $dev0 $dev1 $dev2 $dev3
-sleep 4
+sleep 6
mdadm -S $md0
mdadm -E --metadata=0 $dev1 > $targetdir/d1
#mdadm -E $dev1
mdadm --grow $md0 --bitmap=internal --bitmap-chunk=4 --delay=1 || { mdadm -X $dev2 ; exit 1; }
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
testdev $md0 1 $mdsize1a 64
-sleep 4
+sleep 6
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 -o $dirty2 -ne 0 ]
#mdadm -E $dev1
mdadm --grow $md0 --bitmap=internal --bitmap-chunk=4 --delay=1
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
testdev $md0 1 $mdsize1b 64
-sleep 4
+sleep 6
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 -o $dirty2 -ne 0 ]
mdadm --assemble $md0 $dev1 $dev2
testdev $md0 1 $mdsize0 64
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 ]
fi
mdadm $md0 -f $dev1
testdev $md0 1 $mdsize0 64
-sleep 4
+sleep 6
total=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) bits.*/\1/p'`
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty2 -ne $total ]
check recovery
check wait
-sleep 4
+sleep 6
dirty3=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty3 -ne 0 ]
mdadm --assemble $md0 $dev1 $dev2
testdev $md0 1 $mdsize1b 64
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 ]
fi
mdadm $md0 -f $dev1
testdev $md0 1 $mdsize1b 64
-sleep 4
+sleep 6
total=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) bits.*/\1/p'`
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty2 -ne $total ]
check recovery
check wait
-sleep 4
+sleep 6
dirty3=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty3 -ne 0 ]
mdadm --assemble $md0 $dev1 $dev2
check bitmap
testdev $md0 1 $mdsize11 64
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 ]
fi
mdadm $md0 -f $dev1
testdev $md0 1 $mdsize11 64
-sleep 4
+sleep 6
total=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) bits.*/\1/p'`
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty2 -ne $total ]
mdadm $md0 --add $dev1
check recovery
check wait
-sleep 4
+sleep 6
dirty3=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty3 -ne 0 ]
mdadm --assemble $md0 $dev1 $dev2
testdev $md0 1 $mdsize12 64
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 ]
fi
mdadm $md0 -f $dev1
testdev $md0 1 $mdsize12 64
-sleep 4
+sleep 6
total=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) bits.*/\1/p'`
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty2 -ne $total ]
check recovery
check wait
-sleep 4
+sleep 6
dirty3=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty3 -ne 0 ]
check resync
check wait
testdev $md0 1 $mdsize1a 64
-sleep 4
+sleep 6
mdadm $md0 -f $dev2
sleep 1
check resync
check wait
testdev $md0 1 $size 1
-sleep 4
+sleep 6
mdadm $md0 -f $dev2
sleep 1
mdadm --assemble $md0 $dev1 $dev2 $dev3
testdev $md0 2 $mdsize1 512
-sleep 4
+sleep 6
dirty1=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty1 -ne 0 ]
fi
mdadm $md0 -f $dev1
testdev $md0 2 $mdsize1 512
-sleep 4
+sleep 6
dirty2=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty2 -lt 400 ]
then
mdadm $md0 --add $dev1
check recovery
check wait
-sleep 4
+sleep 6
dirty3=`mdadm -X $dev2 | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
if [ $dirty3 -ne 0 ]