main - tests: increase required version
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=14a3c34983fa8ab9977...
Commit: 14a3c34983fa8ab99773a47f1ee8bdd02d84feef
Parent: d0644fb2c346414ae138369557bbd898d5feac6f
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 14:39:13 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 14:39:13 2021 +0100
tests: increase required version
Seems like version 1.13.2 remains crashing kernel - so increase
the required version for this reshaping test.
---
test/shell/lvconvert-raid-reshape-stripes-load-reload.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/shell/lvconvert-raid-reshape-stripes-load-reload.sh b/test/shell/lvconvert-raid-reshape-stripes-load-reload.sh
index 1e2ad0fb4..2dde4d014 100644
--- a/test/shell/lvconvert-raid-reshape-stripes-load-reload.sh
+++ b/test/shell/lvconvert-raid-reshape-stripes-load-reload.sh
@@ -19,7 +19,7 @@ SKIP_WITH_LVMPOLLD=1
which md5sum || skip
which mkfs.ext4 || skip
-aux have_raid 1 13 2 || skip
+aux have_raid 1 14 || skip
mount_dir="mnt"
3 years
main - tests: use prefix for VG name
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=d0644fb2c346414ae13...
Commit: d0644fb2c346414ae138369557bbd898d5feac6f
Parent: 712f7dfb4cdb729609de230e41255c5af0526860
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 14:38:54 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 14:38:54 2021 +0100
tests: use prefix for VG name
---
test/shell/losetup-partscan.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/shell/losetup-partscan.sh b/test/shell/losetup-partscan.sh
index 98b2677f8..aa752064c 100644
--- a/test/shell/losetup-partscan.sh
+++ b/test/shell/losetup-partscan.sh
@@ -37,7 +37,7 @@ aux extend_filter "a|$LOOP|"
# creation should fail for 'partitioned' loop device
not pvcreate -y "$LOOP"
-not vgcreate $SHARED vg "$LOOP"
+not vgcreate $SHARED ${PREFIX}vg "$LOOP"
aux teardown_devs
@@ -61,4 +61,4 @@ aux extend_filter "a|$LOOP|"
# creation should pass for 'non-partitioned' loop device
pvcreate -y "$LOOP"
-vgcreate $SHARED vg "$LOOP"
+vgcreate $SHARED ${PREFIX}vg "$LOOP"
3 years
main - tests: ignore failure of zeroing
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=712f7dfb4cdb729609d...
Commit: 712f7dfb4cdb729609de230e41255c5af0526860
Parent: 26d76d31c5251a35bc4be1c60a1066d13b1f5f1d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 12:05:55 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 12:05:55 2021 +0100
tests: ignore failure of zeroing
Older mdadm fails the command, when the signature is already gone.
---
test/lib/aux.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 617d0b3a4..20736260f 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -796,7 +796,7 @@ cleanup_md_dev() {
test "$DM_DEV_DIR" = "/dev" || rm -f "$(< MD_DEV_PV)"
for dev in $(< MD_DEVICES); do
- mdadm --zero-superblock "$dev" 2>/dev/null
+ mdadm --zero-superblock "$dev" 2>/dev/null || true
done
udev_wait
rm -f MD_DEV MD_DEVICES MD_DEV_PV
3 years
main - tests: use mirror throttling
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=26d76d31c5251a35bc4...
Commit: 26d76d31c5251a35bc4be1c60a1066d13b1f5f1d
Parent: a5fc6a0fe7f7384db9a88a399d288d16d782f516
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 11:34:34 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 11:34:34 2021 +0100
tests: use mirror throttling
Combination of throttling and slowed device is a bit faster.
Also add FIXME about the mutliple spawn polling processing
when activating invidual LV for a pvmove.
---
test/shell/pvmove-resume-2.sh | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/test/shell/pvmove-resume-2.sh b/test/shell/pvmove-resume-2.sh
index 803e6ef64..92b0070c0 100644
--- a/test/shell/pvmove-resume-2.sh
+++ b/test/shell/pvmove-resume-2.sh
@@ -26,12 +26,14 @@ vgcreate -s 128k $vg "$dev1"
pvcreate --metadatacopies 0 "$dev2"
vgextend $vg "$dev2"
+aux throttle_dm_mirror 50 || :
+
test_pvmove_resume() {
# 2 LVs on same device
lvcreate -an -Zn -l15 -n $lv1 $vg "$dev1"
lvcreate -an -Zn -l15 -n $lv2 $vg "$dev1"
- aux delay_dev "$dev2" 0 1000 "$(get first_extent_sector "$dev2"):"
+ aux delay_dev "$dev2" 0 200 "$(get first_extent_sector "$dev2"):"
pvmove -i5 "$dev1" &
PVMOVE=$!
@@ -108,7 +110,10 @@ lvchange_all() {
aux lvmpolld_dump | tee lvmpolld_dump.txt
aux check_lvmpolld_init_rq_count 1 "$vg/pvmove0" || should false
elif test -e HAVE_DM_DELAY; then
- test "$(aux count_processes_with_tag)" -eq "$1" || should false
+ test "$(aux count_processes_with_tag)" -eq "$1" || {
+ # FIXME: currently lvm2 is spawning polling process for each LV
+ echo "Lvchange spawns pvmove per activated LV"
+ }
fi
}
3 years
main - tests: set default basic flavour
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=a5fc6a0fe7f7384db9a...
Commit: a5fc6a0fe7f7384db9a88a399d288d16d782f516
Parent: 0b2a037c800c3b8d20ea4d233cd2642611a2d136
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 11:33:30 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 11:33:30 2021 +0100
tests: set default basic flavour
---
test/lib/inittest.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/lib/inittest.sh b/test/lib/inittest.sh
index 0014a8cfd..0fd651710 100644
--- a/test/lib/inittest.sh
+++ b/test/lib/inittest.sh
@@ -25,7 +25,7 @@ TESTNAME=${0##*/}
PS4='#${BASH_SOURCE[0]##*/}:${LINENO}+ '
export TESTNAME PS4
-LVM_TEST_FLAVOUR=${LVM_TEST_FLAVOUR-}
+LVM_TEST_FLAVOUR=${LVM_TEST_FLAVOUR-ndev-vanilla}
LVM_TEST_BACKING_DEVICE=${LVM_TEST_BACKING_DEVICE-}
LVM_TEST_DEVDIR=${LVM_TEST_DEVDIR-}
3 years
main - tests: try to move more date
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=0b2a037c800c3b8d20e...
Commit: 0b2a037c800c3b8d20ea4d233cd2642611a2d136
Parent: e8b4306eb018a4a4fc8d7a68780563e929180367
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 10:53:02 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 10:53:02 2021 +0100
tests: try to move more date
Throttling was not helping with race - try to use more data.
---
test/shell/pvmove-resume-multiseg.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/shell/pvmove-resume-multiseg.sh b/test/shell/pvmove-resume-multiseg.sh
index 5a32bc607..b38195a84 100644
--- a/test/shell/pvmove-resume-multiseg.sh
+++ b/test/shell/pvmove-resume-multiseg.sh
@@ -19,8 +19,8 @@ SKIP_WITH_LVMLOCKD=1
. lib/inittest
-aux prepare_pvs 5 30
-aux throttle_dm_mirror || :
+aux prepare_pvs 5 40
+aux throttle_dm_mirror 50 || :
vgcreate -s 128k $vg "$dev1" "$dev2" "$dev3"
pvcreate --metadatacopies 0 "$dev4" "$dev5"
@@ -29,10 +29,10 @@ vgextend $vg "$dev4" "$dev5"
# $1 resume fn
test_pvmove_resume() {
# Create multisegment LV
- lvcreate -an -Zn -l30 -n $lv1 $vg "$dev1"
- lvextend -l+30 $vg/$lv1 "$dev2"
+ lvcreate -an -Zn -l50 -n $lv1 $vg "$dev1"
+ lvextend -l+50 $vg/$lv1 "$dev2"
# next LV on same VG and differetnt PV (we want to test 2 pvmoves per VG)
- lvcreate -an -Zn -l30 -n $lv2 $vg "$dev3"
+ lvcreate -an -Zn -l50 -n $lv2 $vg "$dev3"
aux delay_dev "$dev4" 0 200 "$(get first_extent_sector "$dev4"):"
test -e HAVE_DM_DELAY || { lvremove -f $vg; return 0; }
3 years
main - WHATS_NEW: update
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e8b4306eb018a4a4fc8...
Commit: e8b4306eb018a4a4fc8d7a68780563e929180367
Parent: acac3cb52457b536cf8e984ce947a0ac2e837a5d
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 09:59:26 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 09:59:26 2021 +0100
WHATS_NEW: update
---
WHATS_NEW | 1 +
1 file changed, 1 insertion(+)
diff --git a/WHATS_NEW b/WHATS_NEW
index 5d018ef36..80e16d880 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.03.12 -
===================================
+ Do not include editline/history.h when using editline library.
Support lvconvert -Zn with thin-pool conversion.
Support error and zero segtype for thin-pool data for testing.
Support mixed extension for striped, error and zero segtypes.
3 years
main - tests: test needs to have playable locking dir
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=acac3cb52457b536cf8...
Commit: acac3cb52457b536cf8e984ce947a0ac2e837a5d
Parent: b19e036918cf1c2ac2995e07809a28c06bd1f34a
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 09:48:47 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 09:48:47 2021 +0100
tests: test needs to have playable locking dir
---
test/shell/vgchange-sysinit.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/test/shell/vgchange-sysinit.sh b/test/shell/vgchange-sysinit.sh
index cea72f4d0..5740addf5 100644
--- a/test/shell/vgchange-sysinit.sh
+++ b/test/shell/vgchange-sysinit.sh
@@ -22,6 +22,8 @@ aux prepare_pvs 2 8
var_lock="$DM_DEV_DIR/$vg1/$lv1"
# keep in sync with aux configured lockingdir
mount_dir="var/lock/lvm"
+mkdir -p $mount_dir
+aux lvmconf "global/locking_dir = \"$TESTDIR/$mount_dir\""
cleanup_mounted_and_teardown()
{
3 years
main - tests: aux updates
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=b19e036918cf1c2ac29...
Commit: b19e036918cf1c2ac2995e07809a28c06bd1f34a
Parent: 370749a4b859dae834ca5ce514a701a3c3abc75b
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 09:48:03 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 09:48:03 2021 +0100
tests: aux updates
Select unused md from /proc/mdstat
Check for wipefs once.
---
test/lib/aux.sh | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index a982ca162..617d0b3a4 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -722,7 +722,7 @@ mdadm_create() {
# using the old naming /dev/mdXXX
# if we need more MD arrays test suite more likely leaked them
for devid in {127..150} ; do
- test -b /dev/md${devid} || break
+ grep -q "md${devid}" /proc/mdstat || break
done
test "$devid" -lt "150" || skip "Cannot find free /dev/mdXXX node!"
mddev=/dev/md${devid}
@@ -793,10 +793,10 @@ cleanup_md_dev() {
udev_wait # wait till events are process, not zeroing to early
done
- test "$DM_DEV_DIR" != "/dev" && rm -f "$(< MD_DEV_PV)"
+ test "$DM_DEV_DIR" = "/dev" || rm -f "$(< MD_DEV_PV)"
for dev in $(< MD_DEVICES); do
- mdadm --zero-superblock "$dev" || true
+ mdadm --zero-superblock "$dev" 2>/dev/null
done
udev_wait
rm -f MD_DEV MD_DEVICES MD_DEV_PV
@@ -804,17 +804,25 @@ cleanup_md_dev() {
wipefs_a() {
local dev=$1
+ local have_wipefs=1
shift
if test -n "$LVM_TEST_DEVICES_FILE"; then
lvmdevices --deldev $dev || true
fi
- if wipefs -V >/dev/null; then
+ if test -f HAVE_WIPEFS ; then
+ have_wipefs=$(< HAVE_WIPEFS)
+ else
+ wipefs -V >/dev/null 2>&1 || have_wipefs=0
+ echo "$have_wipefs" > HAVE_WIPEFS
+ fi
+
+ if [ "$have_wipefs" = "1" ] ; then
wipefs -a "$dev"
else
- dd if=/dev/zero of="$dev" bs=4096 count=8 || true
- mdadm --zero-superblock "$dev" || true
+ dd if=/dev/zero of="$dev" bs=4096 count=8 >/dev/null || true
+ mdadm --zero-superblock "$dev" 2>/dev/null || true
fi
if test -n "$LVM_TEST_DEVICES_FILE"; then
3 years
main - tests: enhance mdadm_create
by Zdenek Kabelac
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=370749a4b859dae834c...
Commit: 370749a4b859dae834ca5ce514a701a3c3abc75b
Parent: 7575c7ae5c012c4a20bd4c2563640880f522789c
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Tue Mar 23 01:16:21 2021 +0100
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Tue Mar 23 01:16:21 2021 +0100
tests: enhance mdadm_create
For older mdadm its hard to support new names - to simplify things
keep using /dev/mdXXX name which is automatically selected.
---
test/lib/aux.sh | 67 ++++++++++++++++++++++++++-------------------------------
1 file changed, 31 insertions(+), 36 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index e26aa9912..a982ca162 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -710,26 +710,22 @@ cleanup_scsi_debug_dev() {
}
mdadm_create() {
+ local devid
local mddev
- local maj=
- local mdname="md_lvm_test0"
- local mddir="md/"
- local mddevdir="$DM_DEV_DIR/$mddir"
- maj=$(mdadm --version 2>&1) || skip "mdadm tool is missing!"
+ which mdadm >/dev/null || skip "mdadm tool is missing!"
cleanup_md_dev
rm -f debug.log strace.log
- # Have MD use a non-standard name to avoid colliding with an existing MD device
- # - mdadm >= 3.0 requires that non-standard device names be in /dev/md/
- # - newer mdadm _completely_ defers to udev to create the associated device node
- maj=${maj##*- v}
- maj=${maj%%.*}
- [ "$maj" -ge 3 ] || mddir=""
-
- mddev="/dev/${mddir}$mdname"
- name=$1
+ # try to find free MD node
+ # using the old naming /dev/mdXXX
+ # if we need more MD arrays test suite more likely leaked them
+ for devid in {127..150} ; do
+ test -b /dev/md${devid} || break
+ done
+ test "$devid" -lt "150" || skip "Cannot find free /dev/mdXXX node!"
+ mddev=/dev/md${devid}
mdadm --create "$mddev" "$@" || {
# Some older 'mdadm' version managed to open and close devices internaly
@@ -756,18 +752,17 @@ mdadm_create() {
sleep .5
done
+ test -b "$mddev" || skip "mdadm has not created device!"
+ echo "$mddev" > MD_DEV
+
# LVM/DM will see this device
case "$DM_DEV_DIR" in
- "/dev") readlink -f "$mddev" > MD_DEV_PV ;;
- *) mkdir -p "$mddevdir"
- rm -f "$mddevdir/$mdname"
- cp -LR "$mddev" "$mddevdir"
- echo "${mddevdir}${mdname}" > MD_DEV_PV ;;
+ "/dev") echo "$mddev" > MD_DEV_PV ;;
+ *) rm -f "$DM_DEV_DIR/md${devid}"
+ cp -LR "$mddev" "$DM_DEV_DIR"
+ echo "${DM_DEV_DIR}/md${devid}" > MD_DEV_PV ;;
esac
- mddev=$(readlink -f "$mddev")
- test -b "$mddev" || skip "mdadm has not created device!"
- echo "$mddev" > MD_DEV
rm -f MD_DEVICES
while [ "$#" -ne 0 ] ; do
case "$1" in
@@ -778,28 +773,28 @@ mdadm_create() {
}
cleanup_md_dev() {
- test -f MD_DEV || return 0
- grep -q "$(basename $(< MD_DEV) )" /proc/mdstat || {
- rm -f MD_DEV
- return 0
- }
-
local IFS=$IFS_NL
+ local i
local dev
+ local base
local mddev
- local mddev_pv
+
+ test -f MD_DEV || return 0
mddev=$(< MD_DEV)
- mddev_pv=$(< MD_DEV_PV)
+ base=$(basename "$mddev")
- for i in {10..0} ; do
- udev_wait
+ for i in {0..10} ; do
+ grep -q "$base" /proc/mdstat || break
+ test "$i" = 0 || {
+ sleep .1
+ echo "$mddev is still present, stopping again"
+ }
mdadm --stop "$mddev" || true
udev_wait # wait till events are process, not zeroing to early
- grep -q "$(basename $(< MD_DEV) )" /proc/mdstat || break
- sleep .1
- echo "$mddev is still present, stopping again"
done
- test "$DM_DEV_DIR" != "/dev" && rm -rf "${mddev_pv%/*}"
+
+ test "$DM_DEV_DIR" != "/dev" && rm -f "$(< MD_DEV_PV)"
+
for dev in $(< MD_DEVICES); do
mdadm --zero-superblock "$dev" || true
done
3 years