summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2013-07-24 10:40:26 +1000
committerNeilBrown <neilb@suse.de>2013-07-24 12:23:04 +1000
commit7d7092ec6c62e26c67954213be9da6fc8ad301e7 (patch)
tree4e8632766f0707705f40f87e537d72f4d35efcb4 /tests
parent2bf62891c10903df323da49d601a88adebec7ee2 (diff)
downloadmdadm-7d7092ec6c62e26c67954213be9da6fc8ad301e7.tar.gz
Improve revert tests
1/ perform revert-grow on more metadata versions 2/ add revert-inplace. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/07revert-grow15
-rw-r--r--tests/07revert-inplace44
2 files changed, 56 insertions, 3 deletions
diff --git a/tests/07revert-grow b/tests/07revert-grow
index 2dee738..c8c4e85 100644
--- a/tests/07revert-grow
+++ b/tests/07revert-grow
@@ -3,8 +3,13 @@ set -e -x
# revert a reshape that is increasing the number of devices,
# raid5, raid6, and raid10
+# metadate 0.90 cannot handle RAID10 growth
+# metadata 1.0 doesn't get a default headspace, is don't try it either.
+
+for metadata in 0.90 1.1 1.2
+do
# RAID5
-mdadm -CR --assume-clean $md0 -l5 -n4 -x1 $devlist4
+mdadm -CR --assume-clean $md0 -l5 -n4 -x1 $devlist4 --metadata=$metadata
check raid5
testdev $md0 3 $mdsize1 512
mdadm -G $md0 -n 5
@@ -17,7 +22,7 @@ testdev $md0 3 $mdsize1 512
mdadm -S $md0
# RAID6
-mdadm -CR --assume-clean $md0 -l6 -n4 -x1 $devlist4
+mdadm -CR --assume-clean $md0 -l6 -n4 -x1 $devlist4 --metadata=$metadata
check raid6
testdev $md0 2 $mdsize1 512
mdadm -G $md0 -n 5
@@ -29,8 +34,10 @@ check raid6
testdev $md0 2 $mdsize1 512
mdadm -S $md0
+if [ $metadata = 0.90 ]; then continue; fi
+
# RAID10
-mdadm -CR --assume-clean $md0 -l10 -n4 -x1 $devlist4
+mdadm -CR --assume-clean $md0 -l10 -n4 -x1 $devlist4 --metadata=$metadata
check raid10
testdev $md0 2 $mdsize1 512
mdadm -G $md0 -n 5
@@ -41,3 +48,5 @@ check wait
check raid10
testdev $md0 2 $mdsize1 512
mdadm -S $md0
+
+done
diff --git a/tests/07revert-inplace b/tests/07revert-inplace
new file mode 100644
index 0000000..48416c8
--- /dev/null
+++ b/tests/07revert-inplace
@@ -0,0 +1,44 @@
+set -e -x
+
+# revert a reshape that is not changing the number of data devices,
+# raid5, raid6, and raid10
+
+# RAID5 -> RAID6
+mdadm -CR --assume-clean $md0 -l5 -n4 -x1 $devlist4
+check raid5
+testdev $md0 3 $mdsize1 512
+mdadm -G $md0 -l 6
+sleep 3
+mdadm -S $md0
+mdadm -A $md0 --update=revert-reshape $devlist4 --backup-file=/tmp/md-backup
+check wait
+check raid6
+check algorithm 18
+testdev $md0 3 $mdsize1 512
+mdadm -S $md0
+
+# RAID6 -> RAID5
+mdadm -CR --assume-clean $md0 -l6 -n5 $devlist4
+check raid6
+testdev $md0 3 $mdsize1 512
+mdadm -G $md0 -l 5
+sleep 3
+mdadm -S $md0
+mdadm -A $md0 --update=revert-reshape $devlist4 --backup-file=/tmp/md-backup
+check wait
+check raid6
+testdev $md0 3 $mdsize1 512
+mdadm -S $md0
+
+# RAID10 - decrease chunk size
+mdadm -CR --assume-clean $md0 -l10 -n6 -c 64 $devlist5
+check raid10
+testdev $md0 3 $mdsize1 64
+mdadm -G $md0 -c 32
+sleep 3
+mdadm -S $md0
+strace -o /tmp/str ./mdadm -A $md0 --update=revert-reshape $devlist5
+check wait
+check raid10
+testdev $md0 3 $mdsize1 64
+mdadm -S $md0