]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Improve revert tests
authorNeilBrown <neilb@suse.de>
Wed, 24 Jul 2013 00:40:26 +0000 (10:40 +1000)
committerNeilBrown <neilb@suse.de>
Wed, 24 Jul 2013 02:23:04 +0000 (12:23 +1000)
1/ perform revert-grow on more metadata versions
2/ add revert-inplace.

Signed-off-by: NeilBrown <neilb@suse.de>
tests/07revert-grow
tests/07revert-inplace [new file with mode: 0644]

index 2dee738e6669214f943a7a7679a635fe46cd9147..c8c4e855f628747977b02e9f4282f3c289e66893 100644 (file)
@@ -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 (file)
index 0000000..48416c8
--- /dev/null
@@ -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