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