]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
FIX: Tests: raid0->raid10 without degradation
authorKrzysztof Wojcik <krzysztof.wojcik@intel.com>
Wed, 23 Mar 2011 23:11:58 +0000 (10:11 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 23 Mar 2011 23:11:58 +0000 (10:11 +1100)
raid0->raid10 transition needs at least 2 spare devices.
After level changing to raid10 recovery is triggered on
failed (missing) disks. At the end of recovery process
we have fully operational (not degraded) raid10 array.

Initialy there was possibility to migrate raid0->raid10
without recovery triggering (it results degraded raid10).
Now it is not possible.
This patch adapt tests to new mdadm's behavior.

Signed-off-by: Krzysztof Wojcik <krzysztof.wojcik@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
tests/18imsm-r0_2d-takeover-r10_4d
tests/env-imsm-template
tests/imsm-grow-template

index a1c395bd341b5d8714dfc0e0b115099abafe4c0f..0e77e5da61d00c3b4d9ee798a6dd9f57002c9cd9 100644 (file)
@@ -5,6 +5,7 @@
 
 num_disks=2
 device_list="$dev0 $dev1"
 
 num_disks=2
 device_list="$dev0 $dev1"
+spare_list="$dev2 $dev3"
 
 # Before: RAID 0 volume, 2 disks, 256k chunk size
 vol0_level=0
 
 # Before: RAID 0 volume, 2 disks, 256k chunk size
 vol0_level=0
@@ -18,4 +19,4 @@ vol0_new_level=10
 vol0_new_num_comps=$vol0_num_comps
 vol0_new_chunk=128
 
 vol0_new_num_comps=$vol0_num_comps
 vol0_new_chunk=128
 
-. tests/imsm-grow-template 0 1 1
+. tests/imsm-grow-template 0 1
index 7a2890cdb3d6c7cb3f9145b5132410de54e61305..30b73db12c5a9056960c15a31b4e78d66fa48ae1 100644 (file)
@@ -13,7 +13,6 @@ imsm_check() {
         t_size=$6
         t_offset=$7
         t_chunk=$8
         t_size=$6
         t_offset=$7
         t_chunk=$8
-       t_takeover10=$9
 
         err=0
 
 
         err=0
 
@@ -27,13 +26,7 @@ imsm_check() {
             echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $_chunk" >&2
             err=$((err + 1))
         fi
             echo "**Error**: Chunk size mismatch - expected $t_chunk, actual $_chunk" >&2
             err=$((err + 1))
         fi
-       if [ ! -z $t_takeover10 ] ; then
-               t_num_disks=$(( t_num_disks * 2 ))
-       fi
         for i in `seq 0 $((t_num_disks - 1))`; do
         for i in `seq 0 $((t_num_disks - 1))`; do
-           if [ ! -z $t_takeover10 ] && [ ! -z $(( $i % 2 )) ] ; then
-               continue
-           fi
            _offset=`cat ${sysfs}/md/rd${i}/offset`
            if [ $t_offset -ne $((_offset / 2)) ]; then
                echo "**Error**: Offset mismatch - expected $t_offset, actual $_offset" >&2
            _offset=`cat ${sysfs}/md/rd${i}/offset`
            if [ $t_offset -ne $((_offset / 2)) ]; then
                echo "**Error**: Offset mismatch - expected $t_offset, actual $_offset" >&2
index d03752d4802ffd6709bbe013e9b6d7100054144a..191f056ad86458145223ef0e17c74af8f70e75b0 100644 (file)
@@ -5,9 +5,6 @@ negative_test=$1
 # 0 - On-line Capacity Expansion test, otherwise LEVEL migration or CHUNK size migration test
 migration_test=$2
 
 # 0 - On-line Capacity Expansion test, otherwise LEVEL migration or CHUNK size migration test
 migration_test=$2
 
-# 1 - raid0 -> raid10 takeover verification
-takeover10_test=$3
-
 function grow_member() {
        local member=$1
        local disks=$2
 function grow_member() {
        local member=$1
        local disks=$2
@@ -31,8 +28,8 @@ function grow_member() {
        fi
        check wait
        sleep 5
        fi
        check wait
        sleep 5
-       imsm_check member $member $disks $level $size $array_size $offset $chunk $takeover10_test
-       testdev $member $comps $size $chunk $takeover10_test
+       imsm_check member $member $disks $level $size $array_size $offset $chunk
+       testdev $member $comps $size $chunk
 }
 
 # Create container
 }
 
 # Create container