[lvm-devel] master - tests: happy using of 4K backend devices
Zdenek Kabelac
zkabelac at sourceware.org
Sat May 12 16:25:35 UTC 2018
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=6f48741062710fec2eb5c58dd8d4364194bdbf44
Commit: 6f48741062710fec2eb5c58dd8d4364194bdbf44
Parent: e2be14e2d5fc3136257034a8bc194d2127a7c2d3
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Sat May 12 15:58:13 2018 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Sat May 12 17:48:31 2018 +0200
tests: happy using of 4K backend devices
When the backend device supports only 4K blocks (like ramdisk)
we cannot use for testing any smaller blocksize.
So recalc test for 4K extent size.
We may possibly introduce one list extra test that
can be executed on devices with 512b sectors to
check lvm2 support those min extent sizes...
---
test/shell/lvconvert-snapshot.sh | 2 +-
test/shell/lvcreate-small-snap.sh | 12 ++++++------
test/shell/snapshot-maxsize.sh | 2 +-
test/shell/snapshot-usage.sh | 24 ++++++++++++------------
4 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/test/shell/lvconvert-snapshot.sh b/test/shell/lvconvert-snapshot.sh
index f18115d..9a32776 100644
--- a/test/shell/lvconvert-snapshot.sh
+++ b/test/shell/lvconvert-snapshot.sh
@@ -20,7 +20,7 @@ SKIP_WITH_LVMPOLLD=1
aux prepare_pvs 2
get_devs
-vgcreate -s 1k "$vg" "${DEVICES[@]}"
+vgcreate -s 4k "$vg" "${DEVICES[@]}"
lvcreate --type snapshot -V50 -L1 -n $lv1 -s $vg
diff --git a/test/shell/lvcreate-small-snap.sh b/test/shell/lvcreate-small-snap.sh
index 00ea0a0..08872fd 100644
--- a/test/shell/lvcreate-small-snap.sh
+++ b/test/shell/lvcreate-small-snap.sh
@@ -18,20 +18,20 @@ SKIP_WITH_LVMPOLLD=1
aux prepare_pvs
get_devs
-vgcreate -s 1k "$vg" "${DEVICES[@]}"
+vgcreate -s 4k "$vg" "${DEVICES[@]}"
# 3 Chunks
lvcreate -aey -n one -l 10 $vg
-lvcreate -s -l 12 -n snapA $vg/one
-lvcreate -s -c 4k -l 12 -n snapX1 $vg/one
-lvcreate -s -c 8k -l 24 -n snapX2 $vg/one
+lvcreate -s -l 3 -n snapA $vg/one
+lvcreate -s -c 4k -l 3 -n snapX1 $vg/one
+lvcreate -s -c 8k -l 6 -n snapX2 $vg/one
# Check that snapshots that are too small are caught with correct error.
-not lvcreate -s -c 8k -l 8 -n snapX3 $vg/one 2>&1 | tee lvcreate.out
+not lvcreate -s -c 8k -l 2 -n snapX3 $vg/one 2>&1 | tee lvcreate.out
not grep "suspend origin one" lvcreate.out
grep "smaller" lvcreate.out
-not lvcreate -s -l 4 -n snapB $vg/one 2>&1 | tee lvcreate.out
+not lvcreate -s -l 1 -n snapB $vg/one 2>&1 | tee lvcreate.out
not grep "suspend origin one" lvcreate.out
grep "smaller" lvcreate.out
diff --git a/test/shell/snapshot-maxsize.sh b/test/shell/snapshot-maxsize.sh
index 9d8305c..9a1f4d7 100644
--- a/test/shell/snapshot-maxsize.sh
+++ b/test/shell/snapshot-maxsize.sh
@@ -21,7 +21,7 @@ SKIP_WITH_LVMPOLLD=1
aux prepare_pvs 1
get_devs
-vgcreate -s 1K "$vg" "${DEVICES[@]}"
+vgcreate -s 4K "$vg" "${DEVICES[@]}"
lvcreate -aey -L1 -n $lv1 $vg
# Snapshot should be large enough to handle any writes
diff --git a/test/shell/snapshot-usage.sh b/test/shell/snapshot-usage.sh
index 14f74a1..307ab5f 100644
--- a/test/shell/snapshot-usage.sh
+++ b/test/shell/snapshot-usage.sh
@@ -27,7 +27,7 @@ fill() {
cleanup_tail()
{
- test -z "$SLEEP_PID" || kill $SLEEP_PID || true
+ test -z "${SLEEP_PID-}" || kill $SLEEP_PID || true
wait
vgremove -ff $vg1 || true
vgremove -ff $vg
@@ -83,8 +83,7 @@ aux lvmconf "activation/snapshot_autoextend_percent = 20" \
# Check usability with smallest (1k) extent size ($lv has 15P)
pvcreate --yes --setphysicalvolumesize 4T "$DM_DEV_DIR/$vg/$lv"
trap 'cleanup_tail' EXIT
-vgcreate -s 1K $vg1 "$DM_DEV_DIR/$vg/$lv"
-
+vgcreate -s 4K $vg1 "$DM_DEV_DIR/$vg/$lv"
# Play with small 1k 128 extents
lvcreate -aey -L128K -n $lv $vg1
@@ -135,29 +134,30 @@ check lv_not_exists $vg1 $lv1
# Check border size
lvcreate -aey -L4095G $vg1
lvcreate -s -L100K $vg1/lvol0
-fill 1K
+fill 4K
check lv_field $vg1/lvol1 data_percent "12.00"
lvremove -ff $vg1
-# Create 1KB snapshot, does not need to be active here
+# Create 4KB snapshot, does not need to be active here
lvcreate -an -Zn -l1 -n $lv1 $vg1
not lvcreate -s -l1 $vg1/$lv1
-not lvcreate -s -l3 $vg1/$lv1
+# snapshot cannot be smaller then 3 chunks (12K)
+not lvcreate -s -l2 $vg1/$lv1
lvcreate -s -l30 -n $lv2 $vg1/$lv1
check lv_field $vg1/$lv2 size "$EXPECT1"
-not lvcreate -s -c512 -l512 $vg1/$lv1
+not lvcreate -s -c512 -l128 $vg1/$lv1
lvcreate -s -c128 -l1700 -n $lv3 $vg1/$lv1
# 3 * 128
check lv_field $vg1/$lv3 size "$EXPECT2"
lvremove -ff $vg1
-lvcreate -aey -l20 $vg1
-lvcreate -s -l12 $vg1/lvol0
+lvcreate -aey -l5 $vg1
+lvcreate -s -l3 $vg1/lvol0
-# Fill 1KB -> 100% snapshot (1x 4KB chunk)
-fill 1K
+# Fill 4KB -> 100% snapshot (1x 4KB chunk)
+fill 4K
check lv_field $vg1/lvol1 data_percent "100.00"
# Check it resizes 100% full valid snapshot to fit threshold
@@ -168,7 +168,7 @@ fill 4K
lvextend --use-policies $vg1/lvol1
check lv_field $vg1/lvol1 size "24.00k"
-lvextend -l+33 $vg1/lvol1
+lvextend -l+8 $vg1/lvol1
check lv_field $vg1/lvol1 size "$EXPECT3"
fill 20K
More information about the lvm-devel
mailing list