summaryrefslogtreecommitdiffstats
path: root/tests/00readonly
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/00readonly33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/00readonly b/tests/00readonly
new file mode 100644
index 0000000..80b6362
--- /dev/null
+++ b/tests/00readonly
@@ -0,0 +1,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