X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=test;h=a31ad40fd379470d15829c2d2bcb4a8f933698d0;hb=5083d66b9c46edc63575952c011f5675a2d37618;hp=b3e49496447d191dd0d297bf85fd498c67055383;hpb=45b662b611a6fbbdd018a65b6f205e91df884c37;p=thirdparty%2Fmdadm.git diff --git a/test b/test index b3e49496..a31ad40f 100644 --- a/test +++ b/test @@ -34,15 +34,24 @@ mdsize0=19904 mdsize00=19840 # super1.0 round down to multiple of 2, subtract 8 mdsize1=19992 +mdsize1a=19988 +mdsize12=19988 +# super1.2 for linear: round to multiple of 2, subtract 4 +mdsize1_l=18976 +mdsize2_l=18976 # subtract another 4 for bitmaps mdsize1b=19988 mdsize11=19992 +mdsize11a=18944 mdsize12=19988 +# ddf needs bigger devices as 32Meg is reserved! +ddfsize=65536 + cleanup() { udevadm settle $mdadm -Ssq - for d in 0 1 2 3 4 5 6 7 + for d in 0 1 2 3 4 5 6 7 8 9 10 11 12 do losetup -d /dev/loop$d ; # rm -f $targetdir/mdtest$d done @@ -51,9 +60,11 @@ cleanup() { trap cleanup 0 1 2 3 15 devlist= -for d in 0 1 2 3 4 5 6 7 +for d in 0 1 2 3 4 5 6 7 8 9 10 11 12 do - [ -f $targetdir/mdtest$d ] || dd if=/dev/zero of=$targetdir/mdtest$d count=$size bs=1K > /dev/null 2>&1 + sz=$size + if [ $d -gt 7 ]; then sz=$ddfsize ; fi + [ -f $targetdir/mdtest$d ] || dd if=/dev/zero of=$targetdir/mdtest$d count=$sz bs=1K > /dev/null 2>&1 [ -b /dev/loop$d ] || mknod /dev/loop$d b 7 $d if [ $d -eq 7 ] then @@ -69,6 +80,8 @@ done path0=$dev6 path1=$dev7 +ulimit -c unlimited +[ -f /proc/mdstat ] || modprobe md_mod echo 2000 > /proc/sys/dev/raid/speed_limit_max echo 0 > /sys/module/md_mod/parameters/start_ro @@ -80,13 +93,15 @@ fi mdadm() { rm -f $targetdir/stderr case $* in - *-S* ) udevsettle;; + *-S* ) udevadm settle;; esac case $* in *-C* ) $mdadm 2> $targetdir/stderr --quiet "$@" --auto=yes;; * ) $mdadm 2> $targetdir/stderr --quiet "$@" esac + rv=$? cat >&2 $targetdir/stderr + return $rv } # check various things @@ -152,14 +167,22 @@ no_errors() { # basic device test testdev() { + udevadm settle dev=$1 cnt=$2 dvsize=$3 chunk=$4 - mkfs -j $dev > /dev/null 2>&1 && fsck -fn $dev >&2 + if [ -z "$5" ]; then + mkfs -j $dev > /dev/null 2>&1 && fsck -fn $dev >&2 + fi dsize=$[dvsize/chunk] dsize=$[dsize*chunk] rasize=$[dsize*2*cnt] + # rasize is in sectors + if [ -n "$DEV_ROUND_K" ]; then + rasize=$[rasize/DEV_ROUND_K/2] + rasize=$[rasize*DEV_ROUND_K*2] + fi if [ `/sbin/blockdev --getsize $dev` -eq 0 ]; then sleep 2 ; fi if [ $rasize -ne `/sbin/blockdev --getsize $dev` ] then