]>
Commit | Line | Data |
---|---|---|
f502b11c | 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 | ||
13 | # Write to the array | |
d51e39c0 | 14 | mke2fs -F $member0 |
f502b11c | 15 | check wait |
16 | ||
17 | set -- $(get_raiddisks $member0) | |
18 | fail0=$1 | |
19 | mdadm $member0 --fail $fail0 | |
20 | ||
21 | sleep 1 | |
22 | mdadm $container --remove $fail0 | |
23 | ||
24 | set -- $(get_raiddisks $member0) | |
25 | case $1 in MISSING) shift;; esac | |
26 | good0=$1 | |
27 | ||
28 | mdadm -Ss | |
29 | ||
30 | sleep 1 | |
31 | # Now simulate incremental assembly | |
32 | mdadm -I $good0 | |
7d63efc8 | 33 | mdadm -IRs || true |
f502b11c | 34 | |
35 | # Write to the array | |
d51e39c0 | 36 | mke2fs -F $member0 |
f502b11c | 37 | |
38 | # We re-add the disk now | |
39 | mdadm $container --add $fail0 | |
40 | ||
41 | sleep 1 | |
3c899cab | 42 | mdadm --wait $member0 || true |
f502b11c | 43 | |
44 | ret=0 | |
45 | set -- $(get_raiddisks $member0) | |
46 | case $1:$2 in | |
47 | $dev8:$dev9|$dev9:$dev8);; | |
48 | *) echo ERROR: bad raid disks "$@"; ret=1;; | |
49 | esac | |
50 | ||
51 | mdadm -Ss | |
52 | for x in $@; do | |
53 | mdadm -E $x >$tmp | |
54 | if ! grep -q 'state\[0\] : Optimal, Consistent' $tmp; then | |
55 | echo ERROR: member 0 should be optimal in meta data on $x | |
56 | ret=1 | |
57 | fi | |
58 | done | |
59 | ||
60 | rm -f $tmp | |
61 | if [ $ret -ne 0 ]; then | |
62 | mdadm -E $dev8 | |
63 | mdadm -E $dev9 | |
64 | fi | |
65 | ||
66 | [ $ret -eq 0 ] |