1#!/bin/sh 2# $FreeBSD$ 3 4. `dirname $0`/conf.sh 5 6echo "1..4" 7 8balance="round-robin" 9us0=45 10us1=`expr $us0 + 1` 11us2=`expr $us0 + 2` 12ddbs=2048 13nblocks1=1024 14nblocks2=`expr $nblocks1 / \( $ddbs / 512 \)` 15src=`mktemp /tmp/$base.XXXXXX` || exit 1 16dst=`mktemp /tmp/$base.XXXXXX` || exit 1 17 18dd if=/dev/random of=${src} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 19 20mdconfig -a -t malloc -s `expr $nblocks1 + 1` -u $us0 || exit 1 21mdconfig -a -t malloc -s `expr $nblocks1 + 1` -u $us1 || exit 1 22mdconfig -a -t malloc -s `expr $nblocks1 + 1` -u $us2 || exit 1 23 24gmirror label -b $balance $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1 25devwait 26 27dd if=${src} of=/dev/mirror/${name} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 28 29dd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 30if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 31 echo "not ok 1" 32else 33 echo "ok 1" 34fi 35dd if=/dev/md${us0} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 36if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 37 echo "not ok 2" 38else 39 echo "ok 2" 40fi 41dd if=/dev/md${us1} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 42if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 43 echo "not ok 3" 44else 45 echo "ok 3" 46fi 47 48dd if=/dev/md${us2} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 49if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 50 echo "not ok 4" 51else 52 echo "ok 4" 53fi 54 55gmirror remove $name md${us0} md${us1} md${us2} 56mdconfig -d -u $us0 57mdconfig -d -u $us1 58mdconfig -d -u $us2 59rm -f ${src} ${dst} 60