]> git.ipfire.org Git - thirdparty/mdadm.git/blame - tests/10ddf-fail-stop-readd
Grow: fix resize of array component size to > 32bits
[thirdparty/mdadm.git] / tests / 10ddf-fail-stop-readd
CommitLineData
f502b11c 1# Simple fail / re-add test
2. tests/env-ddf-template
3
4tmp=$(mktemp /tmp/mdtest-XXXXXX)
5rm -f $tmp
6
7mdadm --zero-superblock $dev8 $dev9
8mdadm -CR $container -e ddf -l container -n 2 $dev8 $dev9
9
10mdadm -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
14mke2fs $member0
15check wait
16
17set -- $(get_raiddisks $member0)
18fail0=$1
19mdadm $member0 --fail $fail0
20
21sleep 1
22mdadm $container --remove $fail0
23
24set -- $(get_raiddisks $member0)
25case $1 in MISSING) shift;; esac
26good0=$1
27
28mdadm -Ss
29
30sleep 1
31# Now simulate incremental assembly
32mdadm -I $good0
33mdadm -IRs
34
35# Write to the array
36mke2fs $member0
37
38# We re-add the disk now
39mdadm $container --add $fail0
40
41sleep 1
42mdadm --wait $member0
43
44ret=0
45set -- $(get_raiddisks $member0)
46case $1:$2 in
47 $dev8:$dev9|$dev9:$dev8);;
48 *) echo ERROR: bad raid disks "$@"; ret=1;;
49esac
50
51mdadm -Ss
52for 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
58done
59
60rm -f $tmp
61if [ $ret -ne 0 ]; then
62 mdadm -E $dev8
63 mdadm -E $dev9
64fi
65
66[ $ret -eq 0 ]