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