]>
Commit | Line | Data |
---|---|---|
8ab2924c N |
1 | |
2 | # Check integrity of raid6 in degraded modes | |
3 | # Create a 5 disk raid6, dump some data to it, then | |
4 | # sh1sum it with different pairs of devices failed | |
5 | ||
6 | layouts='ls rs la ra' | |
7 | lv=`uname -r` | |
8 | if expr $lv '>=' 2.6.30 > /dev/null | |
9 | then | |
453e3b41 | 10 | layouts="$layouts parity-first ddf-zero-restart ddf-N-restart ddf-N-continue \ |
8ab2924c N |
11 | left-asymmetric-6 right-asymmetric-6 left-symmetric-6 right-symmetric-6 parity-first-6" |
12 | fi | |
453e3b41 | 13 | |
8ab2924c N |
14 | for layout in $layouts |
15 | do | |
16 | mdadm -CR $md0 -l6 --layout $layout -n5 $dev0 $dev1 $dev2 $dev3 $dev4 | |
17 | check wait | |
18 | tar cf - /etc > $md0 | |
19 | sum=`sha1sum $md0` | |
20 | ||
21 | totest= | |
22 | for second in $dev0 $dev1 $dev2 $dev3 $dev4 | |
23 | do | |
24 | mdadm $md0 -f $second | |
25 | mdadm $md0 -r $second | |
26 | blockdev --flushbufs $md0 | |
27 | sum1=`sha1sum $md0` | |
28 | if [ $sum != $sum1 ] | |
29 | then | |
30 | echo $sum does not matc $sum1 with $second missing | |
31 | exit 1 | |
32 | fi | |
33 | for first in $totest | |
34 | do | |
35 | mdadm $md0 -f $first | |
36 | mdadm $md0 -r $first | |
37 | blockdev --flushbufs $md0 | |
38 | sum1=`sha1sum $md0` | |
39 | if [ $sum != $sum1 ] | |
40 | then | |
41 | echo $sum does not matc $sum1 with $first and $second missing | |
42 | exit 1 | |
43 | fi | |
44 | mdadm $md0 -a $first | |
45 | check wait | |
46 | done | |
47 | mdadm $md0 -a $second | |
48 | check wait | |
49 | totest="$totest $second" | |
50 | done | |
51 | mdadm -S $md0 | |
52 | done | |
53 |