[lvm-devel] master - tests: check vdopool policy extension
Zdenek Kabelac
zkabelac at sourceware.org
Tue Sep 22 21:46:50 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=cbed63eeb9d06958a42721dcd2093ff80582f47d
Commit: cbed63eeb9d06958a42721dcd2093ff80582f47d
Parent: 3a3307c0d8029f545a31d305a23a0dec2ece65f2
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Tue Sep 22 15:44:31 2020 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Sep 22 23:28:43 2020 +0200
tests: check vdopool policy extension
Check pool will grow even with small policy amount.
---
test/shell/lvextend-vdo.sh | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/test/shell/lvextend-vdo.sh b/test/shell/lvextend-vdo.sh
index 5a68bb157..2e9cee4f5 100644
--- a/test/shell/lvextend-vdo.sh
+++ b/test/shell/lvextend-vdo.sh
@@ -17,7 +17,9 @@ SKIP_WITH_LVMPOLLD=1
aux have_vdo 6 2 0 || skip
-aux lvmconf 'allocation/vdo_slab_size_mb = 128'
+aux lvmconf "activation/vdo_pool_autoextend_percent = 1" \
+ "activation/vdo_pool_autoextend_threshold = 70" \
+ "allocation/vdo_slab_size_mb = 128"
aux prepare_vg 1 7000
lvcreate --vdo -V3G -L4G -n $lv1 $vg/$lv2
@@ -31,4 +33,22 @@ check lv_field $vg/${lv2}_vdata size "5.00g"
lvextend -L+1G $vg/$lv1
check lv_field $vg/$lv1 size "4.00g"
+lvremove -f $vg
+
+
+# Resize by policy
+lvcreate --vdo -V3G -L4G -n $lv1 $vg/$lv2
+
+# Fill VDO LV to match configured threshold >= 70%
+dd if=/dev/urandom of="$DM_DEV_DIR/$vg/$lv1" bs=1M count=60 oflag=direct
+PERCENT=$(get lv_field $vg/$lv2 data_percent | cut -d. -f1)
+test "$PERCENT" -ge "70"
+
+lvextend --use-policies "$vg/$lv2"
+
+# although autoextend is only 1%, it needs to extend at least by slab_size
+# this is corner case where min growth requires 128M + 128k
+check lv_field $vg/$lv2 size "<4.13g"
+
+
vgremove -ff $vg
More information about the lvm-devel
mailing list