]> git.ipfire.org Git - thirdparty/mdadm.git/blame - tests/09imsm-create-fail-rebuild
Clean up exit paths from reshape_array.
[thirdparty/mdadm.git] / tests / 09imsm-create-fail-rebuild
CommitLineData
cceebc67
DW
1# sanity check array creation
2
6636f0ef
N
3# IMSM rounds to multiples of one mebibyte - 1024K
4DEV_ROUND_K=1024
5
cceebc67
DW
6num_disks=2
7mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1
8imsm_check container $num_disks
9
10# RAID0 + RAID1
11size=10000
12level=0
13chunk=64
14offset=0
15mdadm -CR $member0 $dev0 $dev1 -n $num_disks -l $level -z $size -c $chunk
16imsm_check member $member0 $num_disks $level $size $offset $chunk
17testdev $member0 $num_disks $size $chunk
18
19offset=$(((size & ~(chunk - 1)) + 2048))
20size=5000
21level=1
22chunk=0
23mdadm -CR $member1 $dev0 $dev1 -n $num_disks -l $level -z $size
24imsm_check member $member1 $num_disks $level $size $offset $chunk
25testdev $member1 1 $size 1
26check wait
27
28mdadm -Ss
29
30# RAID10 + RAID5
31num_disks=4
32mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1 $dev2 $dev3
33imsm_check container $num_disks
34
35size=10000
36level=10
37chunk=64
38offset=0
39mdadm -CR $member0 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
40imsm_check member $member0 $num_disks $level $size $offset $chunk
41testdev $member0 $((num_disks-2)) $size $chunk
42
43offset=$(((size & ~(chunk - 1)) + 2048))
44size=5000
45level=5
46mdadm -CR $member1 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
47imsm_check member $member1 $num_disks $level $size $offset $chunk
48testdev $member1 $((num_disks-1)) $size $chunk
49check wait
50
51# FAIL / REBUILD
52imsm_check_hold $container $dev0
53mdadm --fail $member0 $dev0
54mdadm --wait-clean --scan
55imsm_check_removal $container $dev0
56mdadm --add $container $dev4
57check wait
58imsm_check_hold $container $dev4
59