1153187Spjd#!/bin/sh
2153187Spjd# $FreeBSD$
3153187Spjd
4153187Spjd. `dirname $0`/conf.sh
5153187Spjd
6153187Spjdecho "1..1"
7153187Spjd
8153187Spjdus0=45
9153187Spjdus1=`expr $us0 + 1`
10153187Spjdus2=`expr $us0 + 2`
11153187Spjdnblocks1=9
12153187Spjdnblocks2=`expr $nblocks1 - 1`
13153187Spjdnblocks3=`expr $nblocks2 / 2`
14153187Spjd
15153187Spjdmdconfig -a -t malloc -s $nblocks1 -u $us0 || exit 1
16153187Spjdmdconfig -a -t malloc -s $nblocks1 -u $us1 || exit 1
17153187Spjdmdconfig -a -t malloc -s $nblocks1 -u $us2 || exit 1
18153187Spjd
19153187Spjddd if=/dev/random of=/dev/md${us0} count=$nblocks1 >/dev/null 2>&1
20153187Spjddd if=/dev/random of=/dev/md${us1} count=$nblocks1 >/dev/null 2>&1
21153187Spjddd if=/dev/random of=/dev/md${us2} count=$nblocks1 >/dev/null 2>&1
22153187Spjd
23153187Spjdgraid3 label -w $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1
24153187Spjddevwait
25153187Spjd# Wait for synchronization.
26153187Spjdsleep 2
27153187Spjdgraid3 stop $name
28153187Spjd# Break one component.
29153187Spjddd if=/dev/random of=/dev/md${us1} count=$nblocks2 >/dev/null 2>&1
30153187Spjd# Provoke retaste of the rest components.
31153187Spjdtrue > /dev/md${us0}
32153187Spjdtrue > /dev/md${us2}
33153187Spjdsleep 1
34153187Spjd
35153187Spjddd if=/dev/raid3/${name} of=/dev/null bs=1k count=$nblocks3 >/dev/null 2>&1
36153187Spjdec=$?
37153187Spjdif [ $ec -eq 0 ]; then
38153187Spjd	echo "not ok 1"
39153187Spjdelse
40153187Spjd	echo "ok 1"
41153187Spjdfi
42153187Spjd
43153187Spjdgraid3 stop $name
44153187Spjdmdconfig -d -u $us0
45153187Spjdmdconfig -d -u $us1
46153187Spjdmdconfig -d -u $us2
47