master - tests: delay only data portion of device
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=c88ffbf9dfab5c...
Commit: c88ffbf9dfab5c636b45c51fda6ecf1e6f270b85
Parent: 93ab6d51844352d8680d62e68da7973c4bf98346
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 16:39:19 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 17:18:11 2015 +0200
tests: delay only data portion of device
---
test/shell/pvmove-restart.sh | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/test/shell/pvmove-restart.sh b/test/shell/pvmove-restart.sh
index ca26779..9426d52 100644
--- a/test/shell/pvmove-restart.sh
+++ b/test/shell/pvmove-restart.sh
@@ -29,7 +29,8 @@ lvextend -l+5 $vg/$lv1 "$dev1"
lvextend -l+10 $vg/$lv1 "$dev2"
# Slowdown writes
-aux delay_dev "$dev3" 0 200
+# (FIXME: generates interesting race when not used)
+aux delay_dev "$dev3" 100 100 $(get first_extent_sector "$dev3"):
pvmove -i0 -n $vg/$lv1 "$dev1" "$dev3" $mode &
PVMOVE=$!
@@ -44,6 +45,8 @@ wait
# First take down $lv1 then it's pvmove0
while dmsetup status "$vg-$lv1"; do dmsetup remove "$vg-$lv1" || true; done
while dmsetup status "$vg-pvmove0"; do dmsetup remove "$vg-pvmove0" || true; done
+while dmsetup status "$vg-pvmove0_mimage_1"; do dmsetup remove "$vg-pvmove0_mimage_1" || true; done
+dmsetup table
# Check we really have pvmove volume
check lv_attr_bit type $vg/pvmove0 "p"
@@ -77,8 +80,10 @@ dmsetup table
# Restart pvmove
# use exclusive activation to have usable pvmove without cmirrord
vgchange -aey $vg
-#sleep 2
-#pvmove
+aux wait_pvmove_lv_ready "$vg-pvmove0" 300
+dmsetup table
+
+pvmove --abort
pvmove --abort
7 years, 12 months
master - tests: better check for empty set
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=93ab6d51844352...
Commit: 93ab6d51844352d8680d62e68da7973c4bf98346
Parent: ce3c61c4af4622674d8ebd4301d4fd24c4cb8886
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 16:38:05 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 16:38:05 2015 +0200
tests: better check for empty set
Even when no arg is passed - there is still one "" arg there...
So taky it easy and check for empty string instead.
---
test/lib/aux.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 7499aac..f4fc1b5 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -431,10 +431,10 @@ common_dev_() {
if test "$read_ms" -eq 0 -a "$write_ms" -eq 0 ; then
offsets=
else
- test ${#offsets[@]} -eq 0 && offsets="0:"
+ test -z "${offsets[@]}" && offsets="0:"
fi ;;
error) offsets=${@:3}
- test ${#offsets[@]} -eq 0 && offsets="0:" ;;
+ test -z "${offsets[@]}" && offsets="0:" ;;
esac
local pos
7 years, 12 months
master - tests: delay only data area
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=ce3c61c4af4622...
Commit: ce3c61c4af4622674d8ebd4301d4fd24c4cb8886
Parent: 385457de236022b3afb1cc20cd99445a59340831
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 14:39:05 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 14:54:22 2015 +0200
tests: delay only data area
---
test/shell/pvmove-abort-all.sh | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/test/shell/pvmove-abort-all.sh b/test/shell/pvmove-abort-all.sh
index 3b561eb..cf0985d 100644
--- a/test/shell/pvmove-abort-all.sh
+++ b/test/shell/pvmove-abort-all.sh
@@ -34,18 +34,16 @@ lvcreate -an -Zn -l30 -n $lv1 $vg1 "$dev4"
lvextend -l+30 -n $vg1/$lv1 "$dev5"
# Slowdown writes
-aux delay_dev "$dev3" 0 300
-aux delay_dev "$dev6" 0 300
+aux delay_dev "$dev3" 100 100 $(get first_extent_sector "$dev3"):
+aux delay_dev "$dev6" 100 100 $(get first_extent_sector "$dev6"):
pvmove -i1 $backgroundarg "$dev1" "$dev3" $mode &
aux wait_pvmove_lv_ready "$vg-pvmove0" 300
pvmove -i1 $backgroundarg "$dev2" "$dev3" $mode &
aux wait_pvmove_lv_ready "$vg-pvmove1" 300
-aux delay_dev "$dev3" 0 1000
pvmove -i1 $backgroundarg -n $vg1/$lv1 "$dev4" "$dev6" $mode &
aux wait_pvmove_lv_ready "$vg1-pvmove0" 300
-aux delay_dev "$dev6" 0 1000
# test removal of all pvmove LVs
pvmove --abort
@@ -60,12 +58,10 @@ not grep "^\[pvmove" out
aux enable_dev "$dev3"
aux enable_dev "$dev6"
-lvremove -ff $vg
-lvremove -ff $vg1
+lvremove -ff $vg $vg1
wait
done
done
-vgremove -ff $vg
-vgremove -ff $vg1
+vgremove -ff $vg $vg1
7 years, 12 months
master - tests: test update
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=385457de236022...
Commit: 385457de236022b3afb1cc20cd99445a59340831
Parent: d3a591a7b30baf00d2189638532d825f32a5b913
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 14:24:15 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 14:54:22 2015 +0200
tests: test update
Really wait till fsck is running (sleep 2 is not ideal)
Use new 'delay_dev'.
---
test/shell/lock-parallel.sh | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/test/shell/lock-parallel.sh b/test/shell/lock-parallel.sh
index 993175f..98d3d4c 100644
--- a/test/shell/lock-parallel.sh
+++ b/test/shell/lock-parallel.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (C) 2014 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2014-2015 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
@@ -15,6 +15,7 @@
. lib/inittest
which mkfs.ext3 || skip
+which fsck || skip
aux prepare_vg
@@ -23,12 +24,15 @@ lvcreate -l1 -n $lv2 $vg
mkfs.ext3 "$DM_DEV_DIR/$vg/$lv1"
# Slowdown PV for resized LV
-aux delay_dev "$dev1" 20 20
+aux delay_dev "$dev1" 50 50 $(get first_extent_sector "$dev1"):
lvresize -L-5 -r $vg/$lv1 &
# Let's wait till resize starts
-sleep 2
+for i in $(seq 1 300); do
+ pgrep fsck && break
+ sleep .1
+done
lvremove -f $vg/$lv2
7 years, 12 months
master - tests: hide unwanted output
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=d3a591a7b30baf...
Commit: d3a591a7b30baf00d2189638532d825f32a5b913
Parent: dc418592202b05eb0643908d4167e7d634eeabd6
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 14:38:22 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 14:54:22 2015 +0200
tests: hide unwanted output
---
test/lib/aux.sh | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 677e486..7499aac 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -906,8 +906,8 @@ wait_pvmove_lv_ready() {
local retries=${2:-600}
while : ; do
test $retries -le 0 && die "Waiting for pvmove LV to get activated has timed out"
- dmsetup info -c -o tables_loaded $1 > out || true;
- not grep Live out || break
+ dmsetup info -c -o tables_loaded $1 > out 2>/dev/null|| true;
+ not grep Live out >/dev/null || break
sleep .1
retries=$((retries-1))
done
7 years, 12 months
master - tests: enhance delay_dev
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=dc418592202b05...
Commit: dc418592202b05eb0643908d4167e7d634eeabd6
Parent: bd84389c6867d8d1f1a238361e0d12f01be7a32f
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 14:22:29 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 14:53:36 2015 +0200
tests: enhance delay_dev
Use common code for error_dev & delay_dev.
Both functions now take list of sectors.
>From now on we could delay just 'extent' section, while
keeping running lvm commands fast (having native metadata area).
---
test/lib/aux.sh | 116 ++++++++++++++++++++++++++++---------------------------
1 files changed, 59 insertions(+), 57 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index a14b7a3..677e486 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -351,7 +351,7 @@ cleanup_scsi_debug_dev() {
}
prepare_backing_dev() {
- if test -f BACKING_DEV; then
+ if test -f BACKING_DEV; then
BACKING_DEV=$(< BACKING_DEV)
elif test -b "$LVM_TEST_BACKING_DEVICE"; then
BACKING_DEV="$LVM_TEST_BACKING_DEVICE"
@@ -415,16 +415,28 @@ prepare_devs() {
done
}
-# Replace linear PV device with its 'delayed' version
-# Could be used to more deterministicaly hit some problems.
-# Parameters: {device path} [read delay ms] [write delay ms]
-# Original device is restored when both delay params are 0 (or missing).
-# i.e. delay_dev "$dev1" 0 200
-delay_dev() {
- target_at_least dm-delay 1 2 0 || skip
- local name=$(echo "$1" | sed -e 's,.*/,,')
- local read_ms=${2:-0}
- local write_ms=${3:-0}
+
+common_dev_() {
+ local tgtype=$1
+ local name=${2##*/}
+ local offsets
+ local read_ms
+ local write_ms
+
+ case "$tgtype" in
+ delay)
+ read_ms=${3:-0}
+ write_ms=${4:-0}
+ offsets=${@:5}
+ if test "$read_ms" -eq 0 -a "$write_ms" -eq 0 ; then
+ offsets=
+ else
+ test ${#offsets[@]} -eq 0 && offsets="0:"
+ fi ;;
+ error) offsets=${@:3}
+ test ${#offsets[@]} -eq 0 && offsets="0:" ;;
+ esac
+
local pos
local size
local type
@@ -433,17 +445,46 @@ delay_dev() {
read pos size type pvdev offset < "$name.table"
+ for fromlen in ${offsets[@]}; do
+ from=${fromlen%%:*}
+ len=${fromlen##*:}
+ test -n "$len" || len=$(($size - $from))
+ diff=$(($from - $pos))
+ if test $diff -gt 0 ; then
+ echo "$pos $diff $type $pvdev $(($pos + $offset))"
+ pos=$(($pos + $diff))
+ elif test $diff -lt 0 ; then
+ die "Position error"
+ fi
+
+ case "$tgtype" in
+ delay)
+ echo "$from $len delay $pvdev $(($pos + $offset)) $read_ms $pvdev $(($pos + $offset)) $write_ms" ;;
+ error)
+ echo "$from $len error" ;;
+ esac
+ pos=$(($pos + $len))
+ done > "$name.devtable"
+ diff=$(($size - $pos))
+ test "$diff" -gt 0 && echo "$pos $diff $type $pvdev $(($pos + $offset))" >>"$name.devtable"
+
init_udev_transaction
- if test $read_ms -ne 0 -o $write_ms -ne 0 ; then
- echo "0 $size delay $pvdev $offset $read_ms $pvdev $offset $write_ms" | \
- dmsetup load "$name"
- else
- dmsetup load "$name" "$name.table"
- fi
+ dmsetup load "$name" "$name.devtable"
dmsetup resume "$name"
finish_udev_transaction
}
+# Replace linear PV device with its 'delayed' version
+# Could be used to more deterministicaly hit some problems.
+# Parameters: {device path} [read delay ms] [write delay ms] [offset:size]...
+# Original device is restored when both delay params are 0 (or missing).
+# If the size is missing, the remaing portion of device is taken
+# i.e. delay_dev "$dev1" 0 200 256:
+delay_dev() {
+ target_at_least dm-delay 1 2 0 || skip
+ common_dev_ delay "$@"
+}
+
disable_dev() {
local dev
local silent
@@ -513,46 +554,7 @@ enable_dev() {
# Original device table is replace with multiple lines
# i.e. error_dev "$dev1" 8:32 96:8
error_dev() {
- local dev=$1
- local name=$(echo "$dev" | sed -e 's,.*/,,')
- local fromlen
- local pos
- local size
- local type
- local pvdev
- local offset
- local silent
-
- read pos size type pvdev offset < $name.table
-
- shift
- rm -f $name.errtable
- for fromlen in "$@"; do
- from=${fromlen%%:*}
- len=${fromlen##*:}
- diff=$(($from - $pos))
- if test $diff -gt 0 ; then
- echo "$pos $diff $type $pvdev $(($pos + $offset))" >>$name.errtable
- pos=$(($pos + $diff))
- elif test $diff -lt 0 ; then
- die "Position error"
- fi
- echo "$from $len error" >>$name.errtable
- pos=$(($pos + $len))
- done
- diff=$(($size - $pos))
- test $diff -gt 0 && echo "$pos $diff $type $pvdev $(($pos + $offset))" >>$name.errtable
-
- init_udev_transaction
- if dmsetup table $name ; then
- dmsetup load "$name" "$name.errtable"
- else
- dmsetup create -u "TEST-$name" "$name" "$name.errtable"
- fi
- # using device name (since device path does not exists yet with udev)
- dmsetup resume "$name"
- finish_udev_transaction
- test -n "$silent" || notify_lvmetad "$dev"
+ common_dev_ error "$@"
}
backup_dev() {
7 years, 12 months
master - tests: add get first_extent_sector
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=bd84389c6867d8...
Commit: bd84389c6867d8d1f1a238361e0d12f01be7a32f
Parent: 308f9bcc18d6c3b5f56b77dedacff4edafeb86fd
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 14:20:03 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 14:20:03 2015 +0200
tests: add get first_extent_sector
Trvial function to figure out sector position of 1st. extent.
---
test/lib/get.sh | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/test/lib/get.sh b/test/lib/get.sh
index b6fbf82..ef1ddc4 100644
--- a/test/lib/get.sh
+++ b/test/lib/get.sh
@@ -87,6 +87,10 @@ lv_tree_devices() {
lv_tree_devices_ "$@" | sort | uniq
}
+first_extent_sector() {
+ pv_field "$@" pe_start --units s --nosuffix
+}
+
#set -x
unset LVM_VALGRIND
"$@"
7 years, 12 months
master - tests: simplify check sysfs_queue
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=308f9bcc18d6c3...
Commit: 308f9bcc18d6c3b5f56b77dedacff4edafeb86fd
Parent: a701d337d4a8b2bbabc8e0930f79018b7f3d4305
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Fri Apr 3 10:27:00 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Fri Apr 3 10:27:00 2015 +0200
tests: simplify check sysfs_queue
Pass just device name and let figure out
sysfs path inside the function.
---
test/lib/check.sh | 12 +++++++-----
test/shell/profiles-thin.sh | 5 ++---
test/shell/topology-support.sh | 15 ++++++---------
3 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/test/lib/check.sh b/test/lib/check.sh
index 12c5e23..219d43f 100644
--- a/test/lib/check.sh
+++ b/test/lib/check.sh
@@ -366,11 +366,13 @@ dev_md5sum() {
}
sysfs_queue() {
- # Verify optimal_io_size
- local P="/sys/block/$1/queue/$2"
- test -f "$P" || return 0
- test "$(< $P)" -eq "$3" || \
- die "$P = $(< $P) differs from expected value $3!"
+ # read maj min and also convert hex to decimal
+ local maj=$(($(stat -L --printf=0x%t "$1")))
+ local min=$(($(stat -L --printf=0x%T "$1")))
+ local P="/sys/dev/block/$maj:$min/queue/$2"
+ local val=$(< "$P") || return 0 # no sysfs ?
+ test "$val" -eq "$3" || \
+ die "$1: $P = $val differs from expected value $3!"
}
#set -x
diff --git a/test/shell/profiles-thin.sh b/test/shell/profiles-thin.sh
index e8110d9..8800e7b 100644
--- a/test/shell/profiles-thin.sh
+++ b/test/shell/profiles-thin.sh
@@ -25,13 +25,12 @@ aux prepare_profiles "thin-performance"
# Create scsi debug dev with sector size of 4096B and 1MiB optimal_io_size
aux prepare_scsi_debug_dev $DEV_SIZE sector_size=4096 opt_blks=256 || skip
EXPECT=1048576
-check sysfs_queue "$(basename $(< SCSI_DEBUG_DEV))" optimal_io_size "$EXPECT"
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" optimal_io_size "$EXPECT"
aux prepare_pvs 1 $DEV_SIZE
# Check we are not running on buggy kernel (broken lcm())
# If so, turn chunk_size test into 'should'
-MINOR=$(stat -c %T "$dev1")
-check sysfs_queue "dm-$MINOR" optimal_io_size "$EXPECT" || SHOULD=should
+check sysfs_queue "$dev1" optimal_io_size "$EXPECT" || SHOULD=should
vgcreate $vg "$dev1"
diff --git a/test/shell/topology-support.sh b/test/shell/topology-support.sh
index 2e63da8..62f2b88 100644
--- a/test/shell/topology-support.sh
+++ b/test/shell/topology-support.sh
@@ -56,8 +56,7 @@ aux cleanup_scsi_debug_dev
LOGICAL_BLOCK_SIZE=512
aux prepare_scsi_debug_dev $DEV_SIZE \
sector_size=$LOGICAL_BLOCK_SIZE physblk_exp=3
-check sysfs_queue "$(basename $(< SCSI_DEBUG_DEV))" logical_block_size $LOGICAL_BLOCK_SIZE
-
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
get_devs
@@ -73,7 +72,7 @@ aux cleanup_scsi_debug_dev
LOGICAL_BLOCK_SIZE=512
aux prepare_scsi_debug_dev $DEV_SIZE \
sector_size=$LOGICAL_BLOCK_SIZE physblk_exp=3 lowest_aligned=7
-check sysfs_queue "$(basename $(< SCSI_DEBUG_DEV))" logical_block_size $LOGICAL_BLOCK_SIZE
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
vgcreate $vg "${DEVICES[@]}"
@@ -88,7 +87,7 @@ aux cleanup_scsi_debug_dev
LOGICAL_BLOCK_SIZE=4096
aux prepare_scsi_debug_dev $DEV_SIZE \
sector_size=$LOGICAL_BLOCK_SIZE
-check sysfs_queue "$(basename $(< SCSI_DEBUG_DEV))" logical_block_size $LOGICAL_BLOCK_SIZE
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
vgcreate $vg "${DEVICES[@]}"
@@ -105,16 +104,14 @@ LOGICAL_BLOCK_SIZE=512
aux prepare_scsi_debug_dev $DEV_SIZE \
sector_size=$LOGICAL_BLOCK_SIZE opt_blks=1536
-TDEV="$(basename $(< SCSI_DEBUG_DEV))"
-check sysfs_queue "$TDEV" logical_block_size $LOGICAL_BLOCK_SIZE
-check sysfs_queue "$TDEV" optimal_io_size 786432
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" logical_block_size $LOGICAL_BLOCK_SIZE
+check sysfs_queue "$(< SCSI_DEBUG_DEV)" optimal_io_size 786432
aux prepare_pvs 1 $PER_DEV_SIZE
# Kernel (3.19) could provide wrong results - in this case skip
# test with incorrect result - lvm2 can't figure out good values.
-MINOR=$(stat -c %T "$dev1")
-check sysfs_queue "dm-$MINOR" optimal_io_size 786432 || SHOULD=should
+check sysfs_queue "$dev1" optimal_io_size 786432 || SHOULD=should
$SHOULD check pv_field "${DEVICES[@]}" pe_start 768.00k
aux cleanup_scsi_debug_dev
7 years, 12 months
master - tests: slowdown pvmove devs more
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=a701d337d4a8b2...
Commit: a701d337d4a8b2bbabc8e0930f79018b7f3d4305
Parent: 196602524515756b2ac504937ec6d61d22ba49ed
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Apr 2 16:02:06 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu Apr 2 16:02:06 2015 +0200
tests: slowdown pvmove devs more
Once pvmove is running - slow it even more
since some test machines tend to be very very slow.
---
test/shell/pvmove-abort-all.sh | 3 +++
test/shell/pvmove-abort.sh | 3 +++
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/test/shell/pvmove-abort-all.sh b/test/shell/pvmove-abort-all.sh
index 85ee457..3b561eb 100644
--- a/test/shell/pvmove-abort-all.sh
+++ b/test/shell/pvmove-abort-all.sh
@@ -41,8 +41,11 @@ pvmove -i1 $backgroundarg "$dev1" "$dev3" $mode &
aux wait_pvmove_lv_ready "$vg-pvmove0" 300
pvmove -i1 $backgroundarg "$dev2" "$dev3" $mode &
aux wait_pvmove_lv_ready "$vg-pvmove1" 300
+aux delay_dev "$dev3" 0 1000
+
pvmove -i1 $backgroundarg -n $vg1/$lv1 "$dev4" "$dev6" $mode &
aux wait_pvmove_lv_ready "$vg1-pvmove0" 300
+aux delay_dev "$dev6" 0 1000
# test removal of all pvmove LVs
pvmove --abort
diff --git a/test/shell/pvmove-abort.sh b/test/shell/pvmove-abort.sh
index 6798b59..4ad3e62 100644
--- a/test/shell/pvmove-abort.sh
+++ b/test/shell/pvmove-abort.sh
@@ -36,6 +36,9 @@ aux wait_pvmove_lv_ready "$vg-pvmove0" 300
pvmove -i1 $backgroundarg "$dev2" "$dev3" $mode &
aux wait_pvmove_lv_ready "$vg-pvmove1" 300
+# Slow things even more for very slow machines....
+aux delay_dev "$dev3" 0 1000
+
# remove specific device
pvmove --abort "$dev1"
7 years, 12 months
master - tests: split bigger test
by Zdenek Kabelac
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=19660252451575...
Commit: 196602524515756b2ac504937ec6d61d22ba49ed
Parent: a16324b0d3ee2e3166ca0a9b5c87b5a68e756a68
Author: Zdenek Kabelac <zkabelac(a)redhat.com>
AuthorDate: Thu Apr 2 16:01:01 2015 +0200
Committer: Zdenek Kabelac <zkabelac(a)redhat.com>
CommitterDate: Thu Apr 2 16:01:01 2015 +0200
tests: split bigger test
Use separate new test and avoid teardown_devs
in the middle of single test.
---
test/shell/lvcreate-thin-big.sh | 63 +++++++++++++++++++++++++++++++++++++++
test/shell/lvcreate-thin.sh | 46 ----------------------------
2 files changed, 63 insertions(+), 46 deletions(-)
diff --git a/test/shell/lvcreate-thin-big.sh b/test/shell/lvcreate-thin-big.sh
new file mode 100644
index 0000000..1a8fa30
--- /dev/null
+++ b/test/shell/lvcreate-thin-big.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# Copyright (C) 2015 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# test currently needs to drop
+# 'return NULL' in _lv_create_an_lv after log_error("Can't create %s without using "
+
+. lib/inittest
+
+aux have_thin 1 0 0 || skip
+
+# Test --poolmetadatasize range
+# allocating large devices for testing
+aux prepare_pvs 10 16500
+vgcreate $vg -s 64K $(cat DEVICES)
+
+# Size 0 is not valid
+invalid lvcreate -L4M --chunksize 128 --poolmetadatasize 0 -T $vg/pool1 2>out
+lvcreate -L4M --chunksize 128 --poolmetadatasize 16k -T $vg/pool1 2>out
+grep "WARNING: Minimum" out
+# FIXME: metadata allocation fails, if PV doesn't have at least 16GB
+# i.e. pool metadata device cannot be multisegment
+lvcreate -L4M --chunksize 64k --poolmetadatasize 17G -T $vg/pool2 2>out
+grep "WARNING: Maximum" out
+check lv_field $vg/pool1_tmeta size "2.00m"
+check lv_field $vg/pool2_tmeta size "16.00g"
+lvremove -ff $vg
+
+# Test automatic calculation of pool metadata size
+lvcreate -L160G -T $vg/pool
+check lv_field $vg/pool lv_metadata_size "80.00m"
+check lv_field $vg/pool chunksize "128.00k"
+lvremove -ff $vg/pool
+
+lvcreate -L10G --chunksize 256 -T $vg/pool1
+lvcreate -L60G --chunksize 1024 -T $vg/pool2
+check lv_field $vg/pool1_tmeta size "2.50m"
+check lv_field $vg/pool2_tmeta size "3.75m"
+lvremove -ff $vg
+
+# Block size of multiple 64KB needs >= 1.4
+if aux have_thin 1 4 0 ; then
+# Test chunk size is rounded to 64KB boundary
+lvcreate -L10G --poolmetadatasize 4M -T $vg/pool
+check lv_field $vg/pool chunk_size "192.00k"
+fi
+# Old thinpool target required rounding to power of 2
+aux lvmconf "global/thin_disabled_features = [ \"block_size\" ]"
+lvcreate -L10G --poolmetadatasize 4M -T $vg/pool_old
+check lv_field $vg/pool_old chunk_size "256.00k"
+lvremove -ff $vg
+# reset
+#aux lvmconf "global/thin_disabled_features = []"
+
+vgremove -ff $vg
diff --git a/test/shell/lvcreate-thin.sh b/test/shell/lvcreate-thin.sh
index 2884d53..66d986b 100644
--- a/test/shell/lvcreate-thin.sh
+++ b/test/shell/lvcreate-thin.sh
@@ -232,49 +232,3 @@ not lvcreate -T mirpool -L4M --alloc anywhere -m1 $vg
not lvcreate --thinpool mirpool -L4M --alloc anywhere -m1 $vg
vgremove -ff $vg
-
-# Test --poolmetadatasize range
-# allocating large devices for testing
-aux teardown_devs
-aux prepare_pvs 10 16500
-vgcreate $vg -s 64K $(cat DEVICES)
-
-# Size 0 is not valid
-invalid lvcreate -L4M --chunksize 128 --poolmetadatasize 0 -T $vg/pool1 2>out
-lvcreate -L4M --chunksize 128 --poolmetadatasize 16k -T $vg/pool1 2>out
-grep "WARNING: Minimum" out
-# FIXME: metadata allocation fails, if PV doesn't have at least 16GB
-# i.e. pool metadata device cannot be multisegment
-lvcreate -L4M --chunksize 64k --poolmetadatasize 17G -T $vg/pool2 2>out
-grep "WARNING: Maximum" out
-check lv_field $vg/pool1_tmeta size "2.00m"
-check lv_field $vg/pool2_tmeta size "16.00g"
-lvremove -ff $vg
-
-# Test automatic calculation of pool metadata size
-lvcreate -L160G -T $vg/pool
-check lv_field $vg/pool lv_metadata_size "80.00m"
-check lv_field $vg/pool chunksize "128.00k"
-lvremove -ff $vg/pool
-
-lvcreate -L10G --chunksize 256 -T $vg/pool1
-lvcreate -L60G --chunksize 1024 -T $vg/pool2
-check lv_field $vg/pool1_tmeta size "2.50m"
-check lv_field $vg/pool2_tmeta size "3.75m"
-lvremove -ff $vg
-
-# Block size of multiple 64KB needs >= 1.4
-if aux have_thin 1 4 0 ; then
-# Test chunk size is rounded to 64KB boundary
-lvcreate -L10G --poolmetadatasize 4M -T $vg/pool
-check lv_field $vg/pool chunk_size "192.00k"
-fi
-# Old thinpool target required rounding to power of 2
-aux lvmconf "global/thin_disabled_features = [ \"block_size\" ]"
-lvcreate -L10G --poolmetadatasize 4M -T $vg/pool_old
-check lv_field $vg/pool_old chunk_size "256.00k"
-lvremove -ff $vg
-# reset
-#aux lvmconf "global/thin_disabled_features = []"
-
-vgremove -ff $vg
7 years, 12 months