1 # sanity check array creation
4 if mdadm --remove $1 $2; then
5 echo "$2 removal from $1 should have been blocked" >&2
12 imsm_check_removal() {
13 if ! mdadm --remove $1 $2 ; then
14 echo "$2 removal from $1 should have succeeded" >&2
21 . tests/env-imsm-template
23 # IMSM rounds to multiples of one mebibyte - 1024K
27 mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1
28 imsm_check container $num_disks
35 mdadm -CR $member0 $dev0 $dev1 -n $num_disks -l $level -z $size -c $chunk
36 imsm_check member $member0 $num_disks $level $size $((size*2)) $offset $chunk
37 testdev $member0 $num_disks $size $chunk
39 offset=$(((size & ~(chunk - 1)) + 2048))
43 mdadm -CR $member1 $dev0 $dev1 -n $num_disks -l $level -z $size
44 imsm_check member $member1 $num_disks $level $size $size $offset $chunk
45 testdev $member1 1 $size 1
52 mdadm -CR $container -e imsm -n $num_disks $dev0 $dev1 $dev2 $dev3
53 imsm_check container $num_disks
59 mdadm -CR $member0 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
60 imsm_check member $member0 $num_disks $level $size $((size*2)) $offset $chunk
61 testdev $member0 $((num_disks-2)) $size $chunk
63 offset=$(((size & ~(chunk - 1)) + 2048))
66 mdadm -CR $member1 $dev0 $dev1 $dev2 $dev3 -n $num_disks -l $level -z $size -c $chunk
67 imsm_check member $member1 $num_disks $level $size $((size*3)) $offset $chunk
68 testdev $member1 $((num_disks-1)) $size $chunk
72 imsm_check_hold $container $dev0
73 mdadm --fail $member0 $dev0
74 mdadm --wait-clean --scan
75 imsm_check_removal $container $dev0
76 mdadm --add $container $dev4
78 imsm_check_hold $container $dev4