mdadm/test: Add one test case for raid5 reshape

This case tries to allow raid5 reshape to use backwards direction.
It changes chunksize after reshape and stops the raid. Then starts
the raid again.

Signed-off-by: Xiao Ni <xni@redhat.com>
Suggested-by:  Jes Sorensen <jes.sorensen@gmail.com>
Suggested-by:  Zhilong Liu <zlliu@suse.com>
Suggested-by:  Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Xiao Ni 2017-10-10 19:32:52 +08:00 committed by Jes Sorensen
parent c76242c56e
commit 62e2991ff9
2 changed files with 24 additions and 0 deletions

7
test
View File

@ -320,6 +320,13 @@ check() {
grep -sq "inactive" /proc/mdstat ||
die "array is not inactive!"
;;
# It only can be used when there is only one raid
chunk )
chunk_size=`awk -F',' '/chunk/{print $2}' /proc/mdstat | awk -F'[a-z]' '{print $1}'`
if [ "$chunk_size" -ne "$2" ] ; then
die "chunksize should be $2, but it's $chunk_size"
fi
;;
* )
die "unknown check $1"
;;

View File

@ -34,3 +34,20 @@ check nosync
sh tests/testdev $md0 3 $[size/2] 128
mdadm -S $md0
# create a raid5 array and change the chunk
mdadm -CR $md0 --level raid5 --metadata=1.1 --chunk=32 --raid-disks 3 --size $[size/2] $dev1 $dev2 $dev3
check wait
check state UUU
check chunk 32
mdadm $md0 --grow --chunk=64
check reshape
check wait
check chunk 64
mdadm -S $md0
mdadm -A $md0 $dev1 $dev2 $dev3
check state UUU
check chunk 64
mdadm -S $md0