summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2019-01-20 16:08:53 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2019-01-21 12:53:16 +0100
commitfc02343eff39b80e3b41b74475d9f2d6797062ac (patch)
treeb107be043840fb3bd5727ca16cfe9dcf0a04fc02
parentf3c52a515b7b40a76d7dfc64b712020f032cde1d (diff)
downloadlvm2-fc02343eff39b80e3b41b74475d9f2d6797062ac.tar.gz
tests: vdo dmeventd resize
-rw-r--r--test/shell/lvextend-vdo-dmeventd.sh68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/shell/lvextend-vdo-dmeventd.sh b/test/shell/lvextend-vdo-dmeventd.sh
new file mode 100644
index 000000000..6dbe4c497
--- /dev/null
+++ b/test/shell/lvextend-vdo-dmeventd.sh
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2019 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# Test autoextension of VDO pool volume
+
+
+SKIP_WITH_LVMPOLLD=1
+
+. lib/inittest
+
+percent_() {
+ get lv_field $vg/vpool data_percent | cut -d. -f1
+}
+
+wait_for_change_() {
+ # dmeventd only checks every 10 seconds :(
+ for i in $(seq 1 25) ; do
+ test "$(percent_)" != "$1" && return
+ sleep 1
+ done
+
+ return 1 # timeout
+}
+
+aux have_vdo 6 2 0 || skip
+
+aux prepare_dmeventd
+
+aux lvmconf "activation/vdo_pool_autoextend_percent = 20" \
+ "activation/vdo_pool_autoextend_threshold = 70" \
+ "allocation/vdo_slab_size_mb = 128"
+
+aux prepare_vg 1 9000
+lvcreate --vdo -V2G -L4G -n $lv1 $vg/vpool
+
+pre=$(percent_)
+# Check out VDO pool is bellow 70%
+test "$pre" -lt 70
+
+# Fill space to be over 70%
+dd if=/dev/urandom of="$DM_DEV_DIR/mapper/$vg-$lv1" bs=1M count=80 conv=fdatasync
+
+# Should be now over 70%
+pre=$(percent_)
+test "$pre" -ge 70
+
+wait_for_change_ $pre
+
+pre=$(percent_)
+# Check out VDO pool gets again bellow 70%
+test "$pre" -lt 70 || die "Data percentage has not changed bellow 70%!"
+
+# 4G * 1.2 (20%) -> 4.8G
+check lv_field $vg/vpool size "4.80g"
+check lv_field $vg/$lv1 size "2.00g"
+
+lvs -a $vg
+
+vgremove -f $vg