7d5c3964cc
1.1 is more flexible in a number of ways and is safer. 0.90 is still fully supported. 1.0 should possibly be used for RAID1 arrays that you want to boot off, depending on your boot loader. Signed-off-by: NeilBrown <neilb@suse.de>
49 lines
1.2 KiB
Plaintext
49 lines
1.2 KiB
Plaintext
|
|
#
|
|
# create a raid1 with a bitmap file
|
|
#
|
|
bmf=$targetdir/bitmap
|
|
rm -f $bmf
|
|
mdadm --create --run $md0 --level=1 -n2 --delay=1 --bitmap $bmf $dev1 $dev2
|
|
check wait
|
|
testdev $md0 1 $mdsize1 1
|
|
mdadm -S $md0
|
|
|
|
mdadm --assemble $md0 --bitmap=$bmf $dev1 $dev2
|
|
testdev $md0 1 $mdsize1 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'`
|
|
|
|
if [ $dirty1 -lt 400 -o $dirty2 -ne 0 ]
|
|
then echo >&2 "ERROR bad 'dirty' counts: $dirty1 and $dirty2"
|
|
exit 1
|
|
fi
|
|
mdadm $md0 -f $dev1
|
|
testdev $md0 1 $mdsize1 1
|
|
sleep 4
|
|
dirty3=`mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
|
|
if [ $dirty3 -lt 400 ]
|
|
then
|
|
echo >&2 "ERROR dirty count $dirty3 is too small"
|
|
exit 2
|
|
fi
|
|
|
|
mdadm -S $md0
|
|
|
|
mdadm --assemble -R $md0 --bitmap=$bmf $dev2
|
|
dirty4=`mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
|
|
mdadm $md0 --add $dev1
|
|
#it is too fast# check recovery
|
|
|
|
check wait
|
|
sleep 4
|
|
dirty5=`mdadm -X $bmf | sed -n -e 's/.*Bitmap.* \([0-9]*\) dirty.*/\1/p'`
|
|
|
|
if [ $dirty4 -lt 400 -o $dirty5 -ne 0 ]
|
|
then echo echo >&2 "ERROR bad 'dirty' counts at end: $dirty4 $dirty5"
|
|
exit 1
|
|
fi
|
|
|
|
mdadm -S $md0
|