From: NeilBrown Date: Wed, 24 Jul 2013 00:40:26 +0000 (+1000) Subject: Improve revert tests X-Git-Tag: mdadm-3.3-rc2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d7092ec6c62e26c67954213be9da6fc8ad301e7;p=thirdparty%2Fmdadm.git Improve revert tests 1/ perform revert-grow on more metadata versions 2/ add revert-inplace. Signed-off-by: NeilBrown --- diff --git a/tests/07revert-grow b/tests/07revert-grow index 2dee738e..c8c4e855 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 00000000..48416c8f --- /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