1153182Spjd#!/bin/sh 2153182Spjd# $FreeBSD$ 3153182Spjd 4153186Spjd. `dirname $0`/conf.sh 5153186Spjd 6153186Spjdecho "1..5" 7153186Spjd 8153182Spjdbalance="split" 9153182Spjdddbs=8192 10153182Spjdnblocks1=1024 11153182Spjdnblocks2=`expr $nblocks1 / \( $ddbs / 512 \)` 12293073Sngiesrc=`mktemp $base.XXXXXX` || exit 1 13293073Sngiedst=`mktemp $base.XXXXXX` || exit 1 14153182Spjd 15153182Spjddd if=/dev/random of=${src} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 16153182Spjd 17293073Sngieus0=$(attach_md -t malloc -s `expr $nblocks1 + 1`) || exit 1 18293073Sngieus1=$(attach_md -t malloc -s `expr $nblocks1 + 1`) || exit 1 19293073Sngieus2=$(attach_md -t malloc -s `expr $nblocks1 + 1`) || exit 1 20153182Spjd 21293073Sngiegmirror label -b $balance -s `expr $ddbs / 2` $name /dev/${us0} /dev/${us1} /dev/${us2} || exit 1 22153186Spjddevwait 23153182Spjd 24153182Spjddd if=${src} of=/dev/mirror/${name} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 25153182Spjd 26153182Spjddd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 27153182Spjdif [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 28153182Spjd echo "not ok 1" 29153182Spjdelse 30153182Spjd echo "ok 1" 31153182Spjdfi 32153182Spjd 33293073Sngiegmirror remove $name ${us0} 34153182Spjddd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 35153182Spjdif [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 36153182Spjd echo "not ok 2" 37153182Spjdelse 38153182Spjd echo "ok 2" 39153182Spjdfi 40153182Spjd 41293073Sngiegmirror remove $name ${us1} 42153182Spjddd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 43153182Spjdif [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 44153182Spjd echo "not ok 3" 45153182Spjdelse 46153182Spjd echo "ok 3" 47153182Spjdfi 48153182Spjd 49293073Sngiegmirror remove $name ${us2} 50153182Spjddd if=/dev/mirror/${name} of=${dst} bs=$ddbs count=$nblocks2 >/dev/null 2>&1 51153182Spjdif [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then 52153182Spjd echo "not ok 4" 53153182Spjdelse 54153182Spjd echo "ok 4" 55153182Spjdfi 56153182Spjd 57153182Spjd# mirror/${name} should be removed. 58153182Spjdif [ -c /dev/${name} ]; then 59153182Spjd echo "not ok 5" 60153182Spjdelse 61153182Spjd echo "ok 5" 62153182Spjdfi 63153182Spjd 64153182Spjdrm -f ${src} ${dst} 65