]> git.ipfire.org Git - thirdparty/mdadm.git/blob - tests/04update-metadata
tests/04update-metadata: avoid passing chunk size to raid1
[thirdparty/mdadm.git] / tests / 04update-metadata
1 set -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
9 dlist="$dev0 $dev1 $dev2 $dev3"
10
11 for ls in linear/4 raid1/1 raid5/3 raid6/2
12 do
13 s=${ls#*/} l=${ls%/*}
14 if [[ $l == 'raid1' ]]; then
15 mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 $dlist
16 else
17 mdadm -CR --assume-clean -e 0.90 $md0 --level $l -n 4 -c 64 $dlist
18 fi
19 testdev $md0 $s 19904 64
20 mdadm -S $md0
21 mdadm -A $md0 --update=metadata $dlist
22 testdev $md0 $s 19904 64 check
23 mdadm -S $md0
24 done
25
26 if mdadm -A $md0 --update=metadata $dlist
27 then echo >&2 should fail with v1.0 metadata
28 exit 1
29 fi
30
31 mdadm -CR -e 0.90 $md0 --level=6 -n4 -c32 $dlist
32 mdadm -S $md0
33
34 if mdadm -A $md0 --update=metadata $dlist
35 then echo >&2 should fail during resync
36 exit 1
37 fi
38 mdadm -A $md0 $dlist
39 mdadm --wait $md0 || true
40 mdadm -S $md0
41
42 # should succeed now
43 mdadm -A $md0 --update=metadata $dlist
44
45 mdadm -S /dev/md0
46 mdadm -CR --assume-clean -e 0.90 $md0 --level=6 -n4 -c32 $dlist --bitmap=internal
47 mdadm -S $md0
48
49 if mdadm -A $md0 --update=metadata $dlist
50 then echo >&2 should fail when bitmap present
51 exit 1
52 fi