mdadm/tests/02r5grow
Xiao Ni 62e2991ff9 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>
2017-10-10 16:23:14 -04:00

54 lines
1.1 KiB
Plaintext

# create a small raid5 array, make it larger. Then make it smaller
mdadm -CR $md0 -e0.90 --level raid5 --chunk=64 --raid-disks 3 --size $[size/2] $dev1 $dev2 $dev3
check wait
check state UUU
testdev $md0 2 $[size/2] 32
mdadm --grow $md0 --size max
check resync
check wait
testdev $md0 2 $mdsize0 32
mdadm --grow $md0 --size $[size/2]
check nosync
testdev $md0 2 $[size/2] 32
mdadm -S $md0
# same again with version 1.1 superblock
mdadm -CR $md0 --level raid5 --metadata=1.1 --chunk=128 --raid-disks 4 --size $[size/2] $dev1 $dev2 $dev3 $dev4
check wait
check state UUUU
testdev $md0 3 $[size/2] 128
mdadm --grow $md0 --size max
check resync
check wait
testdev $md0 3 $[mdsize1_l] 128
mdadm --grow $md0 --size $[size/2]
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