]>
Commit | Line | Data |
---|---|---|
58c96b6b | 1 | # Simple fail / re-add test |
2 | . tests/env-ddf-template | |
3 | ||
4 | tmp=$(mktemp /tmp/mdtest-XXXXXX) | |
5 | rm -f $tmp | |
6 | ||
7 | mdadm --zero-superblock $dev8 $dev9 | |
8 | mdadm -CR $container -e ddf -l container -n 2 $dev8 $dev9 | |
9 | ||
10 | mdadm -CR $member0 -l raid1 -n 2 $container | |
11 | #$dir/mdadm -CR $member0 -l raid1 -n 2 $container >/tmp/mdmon.txt 2>&1 | |
12 | ||
d51e39c0 | 13 | mke2fs -F $member0 |
58c96b6b | 14 | check wait |
15 | ||
16 | set -- $(get_raiddisks $member0) | |
17 | fail0=$1 | |
18 | mdadm $member0 --fail $fail0 | |
19 | ||
20 | sleep 1 | |
21 | mdadm $container --remove $fail0 | |
22 | ||
23 | set -- $(get_raiddisks $member0) | |
24 | case $1 in MISSING) shift;; esac | |
25 | good0=$1 | |
26 | ||
27 | # We re-add the disk now | |
28 | mdadm $container --add $fail0 | |
29 | ||
30 | sleep 1 | |
3c899cab | 31 | mdadm --wait $member0 || true |
58c96b6b | 32 | |
33 | ret=0 | |
34 | set -- $(get_raiddisks $member0) | |
35 | case $1:$2 in | |
36 | $dev8:$dev9|$dev9:$dev8);; | |
37 | *) echo ERROR: bad raid disks "$@"; ret=1;; | |
38 | esac | |
39 | ||
40 | mdadm -Ss | |
41 | for x in $@; do | |
42 | mdadm -E $x >$tmp | |
43 | if ! grep -q 'state\[0\] : Optimal, Consistent' $tmp; then | |
44 | echo ERROR: member 0 should be optimal in meta data on $x | |
45 | ret=1 | |
46 | fi | |
47 | done | |
48 | ||
49 | rm -f $tmp | |
50 | if [ $ret -ne 0 ]; then | |
51 | mdadm -E $dev8 | |
52 | mdadm -E $dev9 | |
53 | fi | |
54 | ||
55 | [ $ret -eq 0 ] |