summaryrefslogtreecommitdiff
path: root/clustermd_tests/01r10_Grow_bitmap-switch
blob: 17947198f016b90d998272884bbc1c369dcbc4f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash

mdadm -CR $md0 -l10 -b clustered --layout n2 -n2 $dev0 $dev1 --assume-clean
ssh $NODE2 mdadm -A $md0 $dev0 $dev1
check all nosync
check all raid10
check all bitmap
check all state UU

# switch 'clustered' bitmap to 'none', and then 'none' to 'internal'
stop_md $NODE2 $md0
mdadm --grow $md0 --bitmap=none
[ $? -eq '0' ] ||
	die "$NODE1: change bitmap 'clustered' to 'none' failed."
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] &&
	die "$NODE1: bitmap still exists in member_disks."
check all nobitmap
mdadm --grow $md0 --bitmap=internal
[ $? -eq '0' ] ||
	die "$NODE1: change bitmap 'none' to 'internal' failed."
sleep 1
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] ||
	die "$NODE1: create 'internal' bitmap failed."
check $NODE1 bitmap

# switch 'internal' bitmap to 'none', and then 'none' to 'clustered'
mdadm --grow $md0 --bitmap=none
[ $? -eq '0' ] ||
	die "$NODE1: change bitmap 'internal' to 'none' failed."
mdadm -X $dev0 $dev1 &> /dev/null
[ $? -eq '0' ] &&
	die "$NODE1: bitmap still exists in member_disks."
check $NODE1 nobitmap
mdadm --grow $md0 --bitmap=clustered
[ $? -eq '0' ] ||
	die "$NODE1: change bitmap 'none' to 'clustered' failed."
ssh $NODE2 mdadm -A $md0 $dev0 $dev1
sleep 1
for ip in $NODES
do
	ssh $ip "mdadm -X $dev0 $dev1 | grep -q 'Cluster name'" ||
		die "$ip: create 'clustered' bitmap failed."
done
check all bitmap
check all state UU
check all dmesg
stop_md all $md0

exit 0