Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/tests/sys/geom/class/raid3/12_test.sh
39638 views
1
#!/bin/sh
2
3
. `dirname $0`/conf.sh
4
5
echo "1..1"
6
7
nblocks1=9
8
nblocks2=`expr $nblocks1 - 1`
9
nblocks3=`expr $nblocks2 / 2`
10
11
attach_md us0 -t malloc -s $nblocks1 || exit 1
12
attach_md us1 -t malloc -s $nblocks1 || exit 1
13
attach_md us2 -t malloc -s $nblocks1 || exit 1
14
15
dd if=/dev/random of=/dev/${us0} count=$nblocks1 >/dev/null 2>&1
16
dd if=/dev/random of=/dev/${us1} count=$nblocks1 >/dev/null 2>&1
17
dd if=/dev/random of=/dev/${us2} count=$nblocks1 >/dev/null 2>&1
18
19
graid3 label -w $name /dev/${us0} /dev/${us1} /dev/${us2} || exit 1
20
devwait
21
# Wait for synchronization.
22
sleep 2
23
graid3 stop $name
24
# Break one component.
25
dd if=/dev/random of=/dev/${us1} count=$nblocks2 >/dev/null 2>&1
26
# Provoke retaste of the rest components.
27
true > /dev/${us0}
28
true > /dev/${us2}
29
sleep 1
30
31
dd if=/dev/raid3/${name} of=/dev/null bs=1k count=$nblocks3 >/dev/null 2>&1
32
ec=$?
33
if [ $ec -eq 0 ]; then
34
echo "not ok 1"
35
else
36
echo "ok 1"
37
fi
38
39