summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2013-07-02 16:19:52 +1000
committerNeilBrown <neilb@suse.de>2013-07-04 17:10:36 +1000
commitaef14b9e498ca5a9c6f46cbf422b4b73ec935d62 (patch)
treed1f9b45786a6dbd9ce15ceff0335b1844ea11e6f
parent5509dc44d8f23d8501212b3d1f33dd35354b018b (diff)
tests: add a test for reverting reshapes
Only reverting reshapes that grow the array so far. Signed-off-by: NeilBrown <neilb@suse.de>
-rwxr-xr-xtest1
-rw-r--r--tests/07revert-grow43
2 files changed, 44 insertions, 0 deletions
diff --git a/test b/test
index d9ba25cc..8a6418d6 100755
--- a/test
+++ b/test
@@ -95,6 +95,7 @@ do_setup() {
eval dev$d=/dev/loop$d
eval file$d=$targetdir/mdtest$d
eval devlist=\"\$devlist \$dev$d\"
+ eval devlist$d=\"\$devlist\"
#" <-- add this quote to un-confuse vim syntax highlighting
done
path0=$dev6
diff --git a/tests/07revert-grow b/tests/07revert-grow
new file mode 100644
index 00000000..2dee738e
--- /dev/null
+++ b/tests/07revert-grow
@@ -0,0 +1,43 @@
+set -e -x
+
+# revert a reshape that is increasing the number of devices,
+# raid5, raid6, and raid10
+
+# RAID5
+mdadm -CR --assume-clean $md0 -l5 -n4 -x1 $devlist4
+check raid5
+testdev $md0 3 $mdsize1 512
+mdadm -G $md0 -n 5
+sleep 3
+mdadm -S $md0
+mdadm -A $md0 --update=revert-reshape $devlist4 --backup-file=/tmp/md-backup
+check wait
+check raid5
+testdev $md0 3 $mdsize1 512
+mdadm -S $md0
+
+# RAID6
+mdadm -CR --assume-clean $md0 -l6 -n4 -x1 $devlist4
+check raid6
+testdev $md0 2 $mdsize1 512
+mdadm -G $md0 -n 5
+sleep 3
+mdadm -S $md0
+mdadm -A $md0 --update=revert-reshape $devlist4 --backup-file=/tmp/md-backup
+check wait
+check raid6
+testdev $md0 2 $mdsize1 512
+mdadm -S $md0
+
+# RAID10
+mdadm -CR --assume-clean $md0 -l10 -n4 -x1 $devlist4
+check raid10
+testdev $md0 2 $mdsize1 512
+mdadm -G $md0 -n 5
+sleep 3
+mdadm -S $md0
+strace -o /tmp/str ./mdadm -A $md0 --update=revert-reshape $devlist4
+check wait
+check raid10
+testdev $md0 2 $mdsize1 512
+mdadm -S $md0