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>
54 lines
1.1 KiB
Plaintext
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
|