summaryrefslogtreecommitdiffstats
path: root/tests/00readonly
blob: 80b63629e4f9a959afaf9e570e073000c287bcf8 (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
#!/bin/bash

levels=(raid0 raid1 raid4 raid5 raid6 raid10)

if [ "$LINEAR" == "yes" ]; then
  levels+=( linear )
fi

for metadata in 0.9 1.0 1.1 1.2
do
	for level in ${levels[@]}
	do
		if [[ $metadata == "0.9" && $level == "raid0" ]];
		then
			continue
		fi
		mdadm -CR $md0 -l $level -n 4 --metadata=$metadata \
			$dev1 $dev2 $dev3 $dev4 --assume-clean
		check nosync
		check $level
		udevadm settle
		mdadm -ro $md0
		check readonly
		state=$(cat /sys/block/md0/md/array_state)
		[ "$state" == "readonly" ] ||
			die "array_state should be 'readonly', but is $state"
		mdadm -w $md0
		check $level
		mdadm -S $md0
	done
done

exit 0