Fix imsm-overlap test.

Now that we reserve space for migration buffer devices are a little
bit smaller so we need to allow for that in the test suite.

Also add a 'udevadm settle' - it seems to help

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2011-06-15 14:39:28 +10:00
parent 47c7a4be14
commit 17f7da2f42
2 changed files with 10 additions and 8 deletions

View File

@ -1,7 +1,7 @@
imsm_check() {
case $1 in
container )
grep -s "$(((418 * $2)/2)) blocks super external:imsm" /proc/mdstat > /dev/null || {
grep -s " blocks super external:imsm" /proc/mdstat > /dev/null || {
echo >&2 "ERROR correctly formed container not found"; cat /proc/mdstat; exit 1;}
;;
member )
@ -67,15 +67,17 @@ mdadm -CR $member2 $dev2 $dev3 -n $num_disks -l $level -z $size
mdadm -CR $member3 $dev3 $dev4 -n $num_disks -l $level -z $size
mdadm -CR $member4 $dev4 $dev5 -n $num_disks -l $level -z $size
udevadm settle
offset=0
imsm_check member $member0 $num_disks $level $size $offset
offset=$((offset+size+2048))
imsm_check member $member1 $num_disks $level $size $offset
offset=$((offset+size+2048))
imsm_check member $member2 $num_disks $level $size $offset
offset=$((offset+size+2048))
imsm_check member $member3 $num_disks $level $size $offset
# at this point there should be more freespace at the start of the disk
# than the end
offset=0
imsm_check member $member3 $num_disks $level $size $offset
offset=$((offset+size+2048))
imsm_check member $member4 $num_disks $level $size $offset

View File

@ -22,7 +22,7 @@ imsm_check() {
udevadm settle
case $1 in
container )
grep -s "$(((418 * $2)/2)) blocks super external:imsm" /proc/mdstat > /dev/null || {
grep -s " blocks super external:imsm" /proc/mdstat > /dev/null || {
echo >&2 "ERROR correctly formed container not found"; cat /proc/mdstat; exit 1;}
;;
member )
@ -94,7 +94,7 @@ mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1
imsm_check container $num_disks
# RAID0 + RAID1
size=10000
size=9000
level=0
chunk=64
offset=0
@ -103,7 +103,7 @@ imsm_check member $member0 $num_disks $level $size $offset $chunk
testdev $member0 $num_disks $size $chunk
offset=$(((size & ~(chunk - 1)) + 2048))
size=5000
size=4000
level=1
chunk=0
mdadm -CR $member1 $dev0 $dev1 -n $num_disks -l $level -z $size
@ -118,7 +118,7 @@ num_disks=4
mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1 $dev2 $dev3
imsm_check container $num_disks
size=10000
size=9000
level=10
chunk=64
offset=0
@ -127,7 +127,7 @@ imsm_check member $member0 $num_disks $level $size $offset $chunk
testdev $member0 $((num_disks-2)) $size $chunk
offset=$(((size & ~(chunk - 1)) + 2048))
size=5000
size=4000
level=5
mdadm -CR $member1 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
imsm_check member $member1 $num_disks $level $size $offset $chunk