mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
tests: update extend of raid
Here we actually need to slowdown only $dev2 - since repair operation is only reading data from this device and compares it with origin $dev1, and if they match there is no write...
This commit is contained in:
parent
e36c6a31e6
commit
d7f6d5b9da
@ -42,7 +42,8 @@ lvcreate -l1 $vg "$dev2"
|
||||
|
||||
sector=$(( $(get first_extent_sector "$dev2") + 2048 ))
|
||||
aux zero_dev "$dev1" "${sector}:"
|
||||
aux delayzero_dev "$dev2" 0 10 "${sector}:"
|
||||
# Slowdown 'read & write' so repair operation also takes time...
|
||||
aux delayzero_dev "$dev2" 40 20 "${sector}:"
|
||||
|
||||
# Create raid1 LV consuming 1 MD bitmap page
|
||||
lvcreate --yes --type raid1 --regionsize ${regionsize}K -L$(( lvsz - lvext ))M -n $lv1 $vg
|
||||
@ -55,17 +56,15 @@ aux wait_for_sync $vg $lv1
|
||||
check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
check lv_field $vg/$lv1 region_size "4.00k"
|
||||
|
||||
# to slow down extension - slowdown readings
|
||||
aux delayzero_dev "$dev1" 50 0 "${sector}:"
|
||||
aux delayzero_dev "$dev2" 0 50 "${sector}:"
|
||||
|
||||
# Extend so that full MD bitmap page is consumed
|
||||
lvextend -y -L+${lvext}M $vg/$lv1
|
||||
if [ $PROGRESS -eq 1 ]
|
||||
then
|
||||
# Even with delayed devices wre are catching races here.
|
||||
should not check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
check lv_field $vg/$lv1 size "$lvsz.00m" $vg/$lv1
|
||||
# Synchronization should be still going on here
|
||||
# as we slowed down $dev2 on read & write.
|
||||
# So 'repair' operation reads and checks 'zeros'.
|
||||
not check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
check lv_field $vg/$lv1 size "$lvsz.00m" $vg/$lv1
|
||||
fi
|
||||
aux wait_for_sync $vg $lv1
|
||||
check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
@ -74,8 +73,7 @@ check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
lvextend -y -L+${lvext}M $vg/$lv1
|
||||
if [ $PROGRESS -eq 1 ]
|
||||
then
|
||||
# Even with delayed devices wre are catching races here.
|
||||
should not check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
not check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
else
|
||||
check lv_field $vg/$lv1 sync_percent "100.00"
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user