]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/geom_raid3/test-12.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / geom_raid3 / test-12.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 . `dirname $0`/conf.sh
5
6 echo "1..1"
7
8 us0=45
9 us1=`expr $us0 + 1`
10 us2=`expr $us0 + 2`
11 nblocks1=9
12 nblocks2=`expr $nblocks1 - 1`
13 nblocks3=`expr $nblocks2 / 2`
14
15 mdconfig -a -t malloc -s $nblocks1 -u $us0 || exit 1
16 mdconfig -a -t malloc -s $nblocks1 -u $us1 || exit 1
17 mdconfig -a -t malloc -s $nblocks1 -u $us2 || exit 1
18
19 dd if=/dev/random of=/dev/md${us0} count=$nblocks1 >/dev/null 2>&1
20 dd if=/dev/random of=/dev/md${us1} count=$nblocks1 >/dev/null 2>&1
21 dd if=/dev/random of=/dev/md${us2} count=$nblocks1 >/dev/null 2>&1
22
23 graid3 label -w $name /dev/md${us0} /dev/md${us1} /dev/md${us2} || exit 1
24 devwait
25 # Wait for synchronization.
26 sleep 2
27 graid3 stop $name
28 # Break one component.
29 dd if=/dev/random of=/dev/md${us1} count=$nblocks2 >/dev/null 2>&1
30 # Provoke retaste of the rest components.
31 true > /dev/md${us0}
32 true > /dev/md${us2}
33 sleep 1
34
35 dd if=/dev/raid3/${name} of=/dev/null bs=1k count=$nblocks3 >/dev/null 2>&1
36 ec=$?
37 if [ $ec -eq 0 ]; then
38         echo "not ok 1"
39 else
40         echo "ok 1"
41 fi
42
43 graid3 stop $name
44 mdconfig -d -u $us0
45 mdconfig -d -u $us1
46 mdconfig -d -u $us2