]> git.ipfire.org Git - thirdparty/mdadm.git/blame - tests/04update-metadata
tests/04update-metadata skip linear
[thirdparty/mdadm.git] / tests / 04update-metadata
CommitLineData
ccec2685
N
1set -xe
2
3# test converting v0.90 to v1.0
4# check for different levels
5# check it fails for non-v0.90
6# check it fails during reshape or recovery
7# check it fails when bitmap is present
8
9dlist="$dev0 $dev1 $dev2 $dev3"
10
9808f110
XN
11if [ $skipping_linear == "yes" ]; then
12 level_list="raid1/1 raid5/3 raid6/2"
13else
14 level_list="linear/4 raid1/1 raid5/3 raid6/2"
15fi
16for ls in $level_list
ccec2685 17do
9808f110
XN
18 s=${ls#*/} l=${ls%/*}
19 if [[ $l == 'raid1' ]]; then
20 mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
21 else
22 mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
23 fi
24 testdev $md0 $s 19904 64
25 mdadm -S $md0
26 mdadm -A $md0 --update=metadata $dlist
27 testdev $md0 $s 19904 64 check
28 mdadm -S $md0
ccec2685
N
29done
30
31if mdadm -A $md0 --update=metadata $dlist
32then echo >&2 should fail with v1.0 metadata
9808f110 33 exit 1
ccec2685
N
34fi
35
36mdadm -CR -e 0.90 $md0 --level=6 -n4 -c32 $dlist
37mdadm -S $md0
38
39if mdadm -A $md0 --update=metadata $dlist
40then echo >&2 should fail during resync
9808f110 41 exit 1
ccec2685
N
42fi
43mdadm -A $md0 $dlist
3c899cab 44mdadm --wait $md0 || true
ccec2685
N
45mdadm -S $md0
46
47# should succeed now
48mdadm -A $md0 --update=metadata $dlist
49
50mdadm -S /dev/md0
51mdadm -CR --assume-clean -e 0.90 $md0 --level=6 -n4 -c32 $dlist --bitmap=internal
52mdadm -S $md0
53
54if mdadm -A $md0 --update=metadata $dlist
55then echo >&2 should fail when bitmap present
9808f110 56 exit 1
ccec2685 57fi