1#!/bin/sh
|
2# $FreeBSD: head/tools/regression/geom_mirror/test-6.t 153182 2005-12-07 00:34:27Z pjd $
|
2# $FreeBSD: head/tools/regression/geom_mirror/test-6.t 153186 2005-12-07 01:27:23Z pjd $ |
3
|
4name="test"
5base=`basename $0`
|
4. `dirname $0`/conf.sh 5 6echo "1..2" 7 |
8balance="split" 9us0=45 10us1=`expr $us0 + 1` 11us2=`expr $us0 + 2` 12ddbs=8192 13nblocks1=1024 14nblocks2=`expr $nblocks1 / \( $ddbs / 512 \)` 15src=`mktemp /tmp/$base.XXXXXX` || exit 1 16dst=`mktemp /tmp/$base.XXXXXX` || exit 1 17
|
16echo "1..2"
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
|
24kldstat -q -m g_mirror || gmirror load || exit 1
25
|
24gmirror label -b $balance -s `expr $ddbs / 2` $name /dev/md${us0} /dev/md${us1} || exit 1
|
27sleep 1
|
25devwait |
26 27dd if=${src} of=/dev/mirror/${name} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 28dd if=/dev/zero of=/dev/md${us2} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 29 30dd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 31if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 32 echo "not ok 1" 33else 34 echo "ok 1" 35fi 36 37# Connect disk to the mirror. 38gmirror insert ${name} md${us2} 39# Wait for synchronization. 40sleep 1 41dd if=/dev/md${us2} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 42if [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 43 echo "not ok 2" 44else 45 echo "ok 2" 46fi 47 48gmirror remove $name md${us0} md${us1} md${us2} 49mdconfig -d -u $us0 50mdconfig -d -u $us1 51mdconfig -d -u $us2 52rm -f ${src} ${dst}
|