summaryrefslogtreecommitdiffstats
path: root/tests/02r5grow
blob: 2da78ee6bfbf0001a003ba00bd28bfa05a709ccd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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
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