1153188Spjd#!/bin/sh
2153188Spjd# $FreeBSD$
3153188Spjd
4153188Spjd. `dirname $0`/conf.sh
5153188Spjd
6153188Spjdecho "1..4"
7153188Spjd
8153188Spjdus0=45
9153188Spjdus1=`expr $us0 + 1`
10153188Spjdus2=`expr $us0 + 2`
11153188Spjdnblocks1=1024
12153188Spjdnblocks2=`expr $nblocks1 + 1`
13153188Spjdsrc=`mktemp /tmp/$base.XXXXXX` || exit 1
14153188Spjddst=`mktemp /tmp/$base.XXXXXX` || exit 1
15153188Spjd
16153188Spjddd if=/dev/random of=${src} count=$nblocks1 >/dev/null 2>&1
17153188Spjd
18153188Spjdmdconfig -a -t malloc -s $nblocks2 -u $us0 || exit 1
19153188Spjdmdconfig -a -t malloc -s $nblocks2 -u $us1 || exit 1
20153188Spjdmdconfig -a -t malloc -s $nblocks2 -u $us2 || exit 1
21153188Spjd
22153188Spjdgshsec label $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1
23153188Spjddevwait
24153188Spjd
25153188Spjddd if=${src} of=/dev/shsec/${name} count=$nblocks1 >/dev/null 2>&1
26153188Spjd
27153188Spjddd if=/dev/shsec/${name} of=${dst} count=$nblocks1 >/dev/null 2>&1
28153188Spjdif [ `md5 -q ${src}` != `md5 -q ${dst}` ]; then
29153188Spjd	echo "not ok 1"
30153188Spjdelse
31153188Spjd	echo "ok 1"
32153188Spjdfi
33153188Spjd
34153188Spjddd if=/dev/md${us0} of=${dst} count=$nblocks1 >/dev/null 2>&1
35153188Spjdif [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
36153188Spjd	echo "not ok 2"
37153188Spjdelse
38153188Spjd	echo "ok 2"
39153188Spjdfi
40153188Spjd
41153188Spjddd if=/dev/md${us1} of=${dst} count=$nblocks1 >/dev/null 2>&1
42153188Spjdif [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
43153188Spjd	echo "not ok 3"
44153188Spjdelse
45153188Spjd	echo "ok 3"
46153188Spjdfi
47153188Spjd
48153188Spjddd if=/dev/md${us2} of=${dst} count=$nblocks1 >/dev/null 2>&1
49153188Spjdif [ `md5 -q ${src}` = `md5 -q ${dst}` ]; then
50153188Spjd	echo "not ok 4"
51153188Spjdelse
52153188Spjd	echo "ok 4"
53153188Spjdfi
54153188Spjd
55153188Spjdgshsec stop $name
56153188Spjdmdconfig -d -u $us0
57153188Spjdmdconfig -d -u $us1
58153188Spjdmdconfig -d -u $us2
59153188Spjdrm -f ${src} ${dst}
60