]> git.ipfire.org Git - thirdparty/mdadm.git/blame - tests/04update-metadata
tests: Gate tests for linear flavor with variable 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
14c2161e 11for ls in linear/4 raid1/1 raid5/3 raid6/2
ccec2685
N
12do
13 s=${ls#*/} l=${ls%/*}
de045db6
SP
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
ccec2685
N
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
24done
25
26if mdadm -A $md0 --update=metadata $dlist
27then echo >&2 should fail with v1.0 metadata
28 exit 1
29fi
30
31mdadm -CR -e 0.90 $md0 --level=6 -n4 -c32 $dlist
32mdadm -S $md0
33
34if mdadm -A $md0 --update=metadata $dlist
35then echo >&2 should fail during resync
36 exit 1
37fi
38mdadm -A $md0 $dlist
3c899cab 39mdadm --wait $md0 || true
ccec2685
N
40mdadm -S $md0
41
42# should succeed now
43mdadm -A $md0 --update=metadata $dlist
44
45mdadm -S /dev/md0
46mdadm -CR --assume-clean -e 0.90 $md0 --level=6 -n4 -c32 $dlist --bitmap=internal
47mdadm -S $md0
48
49if mdadm -A $md0 --update=metadata $dlist
50then echo >&2 should fail when bitmap present
51 exit 1
52fi