set -e # # create a raid1 array, add an external bitmap # $mdadm --create --run $md0 -l 1 -n 2 $dev1 $dev2 $check wait sh tests/testdev $md0 1 $mdsize0 1 bmf=$targetdir/bm rm -f $bmf $mdadm -E $dev1 $mdadm --grow $md0 --bitmap=$bmf --delay=1 || { $mdadm -X $bmf ; exit 1; } dirty1=`$mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'` sleep 4 dirty2=`$mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'` sh tests/testdev $md0 1 $mdsize0 1 dirty3=`$mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'` sleep 4 dirty4=`$mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'` echo $dirty1 $dirty2 $dirty3 $dirty4 if [ $dirty2 -ne 0 -o $dirty4 -ne 0 -o $dirty3 -lt 400 ] then echo bad dirty counts exit 1 fi $mdadm -S $md0