]> git.ipfire.org Git - thirdparty/mdadm.git/blob - clustermd_tests/01r10_Grow_bitmap-switch
imsm: do not use blocks_per_member in array size calculations
[thirdparty/mdadm.git] / clustermd_tests / 01r10_Grow_bitmap-switch
1 #!/bin/bash
2
3 mdadm -CR $md0 -l10 -b clustered --layout n2 -n2 $dev0 $dev1 --assume-clean
4 ssh $NODE2 mdadm -A $md0 $dev0 $dev1
5 check all nosync
6 check all raid10
7 check all bitmap
8 check all state UU
9
10 # switch 'clustered' bitmap to 'none', and then 'none' to 'internal'
11 stop_md $NODE2 $md0
12 mdadm --grow $md0 --bitmap=none
13 [ $? -eq '0' ] ||
14 die "$NODE1: change bitmap 'clustered' to 'none' failed."
15 mdadm -X $dev0 $dev1 &> /dev/null
16 [ $? -eq '0' ] &&
17 die "$NODE1: bitmap still exists in member_disks."
18 check all nobitmap
19 mdadm --grow $md0 --bitmap=internal
20 [ $? -eq '0' ] ||
21 die "$NODE1: change bitmap 'none' to 'internal' failed."
22 sleep 1
23 mdadm -X $dev0 $dev1 &> /dev/null
24 [ $? -eq '0' ] ||
25 die "$NODE1: create 'internal' bitmap failed."
26 check $NODE1 bitmap
27
28 # switch 'internal' bitmap to 'none', and then 'none' to 'clustered'
29 mdadm --grow $md0 --bitmap=none
30 [ $? -eq '0' ] ||
31 die "$NODE1: change bitmap 'internal' to 'none' failed."
32 mdadm -X $dev0 $dev1 &> /dev/null
33 [ $? -eq '0' ] &&
34 die "$NODE1: bitmap still exists in member_disks."
35 check $NODE1 nobitmap
36 mdadm --grow $md0 --bitmap=clustered
37 [ $? -eq '0' ] ||
38 die "$NODE1: change bitmap 'none' to 'clustered' failed."
39 ssh $NODE2 mdadm -A $md0 $dev0 $dev1
40 sleep 1
41 for ip in $NODES
42 do
43 ssh $ip "mdadm -X $dev0 $dev1 | grep -q 'Cluster name'" ||
44 die "$ip: create 'clustered' bitmap failed."
45 done
46 check all bitmap
47 check all state UU
48 check all dmesg
49 stop_md all $md0
50
51 exit 0