1
0
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:
Zdenek Kabelac 2024-03-24 00:06:32 +01:00
parent e36c6a31e6
commit d7f6d5b9da

View File

@ -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