summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-03-04 16:02:19 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-03-04 16:02:19 +0000
commit487c65373b79dee42c616d963497d25b295f5c35 (patch)
treeca3e78c1fc852a91cf22d37eb4178cf3dab455a7
parent98c92abf4ef5b91638c0c3589b66b88de6b4dc70 (diff)
downloadlvm2-487c65373b79dee42c616d963497d25b295f5c35.tar.gz
lvm2-487c65373b79dee42c616d963497d25b295f5c35.tar.xz
lvm2-487c65373b79dee42c616d963497d25b295f5c35.zip
Speedup test run by a few minutes
Reduce disc excercise for some test and focus on LVM testing by using smaller extent size. Reduce number of teardown_devs calls and use vg/lvremove instead. Don't sleep for seconds on pvmove. FIXME: shell/lvconvert-mirror-basic.sh seems to need more checking. Test fails for smalled extent size then 512k.
-rw-r--r--test/shell/lvconvert-mirror-basic.sh3
-rw-r--r--test/shell/lvconvert-mirror.sh46
-rw-r--r--test/shell/lvconvert-raid.sh4
-rw-r--r--test/shell/lvconvert-repair.sh18
-rw-r--r--test/shell/lvcreate-raid.sh26
-rw-r--r--test/shell/lvextend-snapshot-dmeventd.sh2
-rw-r--r--test/shell/pvmove-basic.sh81
-rw-r--r--test/shell/vgsplit-operation.sh116
8 files changed, 134 insertions, 162 deletions
diff --git a/test/shell/lvconvert-mirror-basic.sh b/test/shell/lvconvert-mirror-basic.sh
index 09621733..8d398632 100644
--- a/test/shell/lvconvert-mirror-basic.sh
+++ b/test/shell/lvconvert-mirror-basic.sh
@@ -121,7 +121,8 @@ test_lvconvert()
fi
}
-aux prepare_vg 5 16
+aux prepare_pvs 5 5
+vgcreate -c n -s 128k $vg $(cat DEVICES)
test_many() {
i=$1
diff --git a/test/shell/lvconvert-mirror.sh b/test/shell/lvconvert-mirror.sh
index 6e63685b..d056d712 100644
--- a/test/shell/lvconvert-mirror.sh
+++ b/test/shell/lvconvert-mirror.sh
@@ -17,13 +17,16 @@ wait_for_mirror_in_sync_()
}
# convert from linear to 2-way mirror
-aux prepare_vg 5
+aux prepare_pvs 5 10
+# FIXME - test fails with extent size < 512k
+vgcreate -c n -s 512k $vg $(cat DEVICES)
+
lvcreate -l2 -n $lv1 $vg $dev1
lvconvert -i1 -m+1 $vg/$lv1 $dev2 $dev3:0-1
check mirror $vg $lv1 $dev3
+lvremove -ff $vg
# convert from 2-way mirror to linear
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1
lvconvert -m-1 $vg/$lv1
check linear $vg $lv1
@@ -35,14 +38,12 @@ check lv_on $vg $lv1 $dev1
lvremove -ff $vg
# convert from disklog to corelog, active
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1
lvconvert -f --mirrorlog core $vg/$lv1
check mirror $vg $lv1 core
lvremove -ff $vg
# convert from corelog to disklog, active
-aux prepare_vg 5
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2
lvconvert --mirrorlog disk $vg/$lv1 $dev3:0-1
check mirror $vg $lv1 $dev3
@@ -50,7 +51,6 @@ lvremove -ff $vg
# bz192865: lvconvert log of an inactive mirror lv
# convert from disklog to corelog, inactive
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0-1
lvchange -an $vg/$lv1
echo y | lvconvert -f --mirrorlog core $vg/$lv1
@@ -58,7 +58,6 @@ check mirror $vg $lv1 core
lvremove -ff $vg
# convert from corelog to disklog, inactive
-aux prepare_vg 5
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2
lvchange -an $vg/$lv1
lvconvert --mirrorlog disk $vg/$lv1 $dev3:0-1
@@ -66,7 +65,6 @@ check mirror $vg $lv1 $dev3
lvremove -ff $vg
# convert linear to 2-way mirror with 1 PV
-aux prepare_vg 5
lvcreate -l2 -n $lv1 $vg $dev1
not lvconvert -m+1 --mirrorlog core $vg/$lv1 $dev1
lvremove -ff $vg
@@ -90,10 +88,10 @@ check mirror_images_on $lv1 $dev2 $dev4
lvconvert -m-1 $vg/$lv1 $dev2
check linear $vg $lv1
check lv_on $vg $lv1 $dev4
+lvremove -ff $vg
# No parallel lvconverts on a single LV please
-aux prepare_vg 5
lvcreate -l5 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
check mirror $vg $lv1
check mirror_legs $vg $lv1 2
@@ -107,29 +105,29 @@ lvconvert -m2 $vg/$lv1 # In case the above "should" actually failed
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 3
+lvremove -ff $vg
# add 1 mirror to core log mirror, but
# implicitly keep log as 'core'
-aux prepare_vg 5
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2
lvconvert -m +1 -i1 $vg/$lv1
check mirror $vg $lv1 core
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 3
+lvremove -ff $vg
# remove 1 mirror from corelog'ed mirror; should retain 'core' log type
-aux prepare_vg 5
lvcreate -l2 -m2 --corelog -n $lv1 $vg
lvconvert -m -1 -i1 $vg/$lv1
check mirror $vg $lv1 core
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 2
+lvremove -ff $vg
# add 1 mirror then add 1 more mirror during conversion
# FIXME this has been explicitly forbidden?
-#aux prepare_vg 5
#lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
#lvconvert -m+1 -b $vg/$lv1 $dev4
#lvconvert -m+1 $vg/$lv1 $dev5
@@ -137,15 +135,15 @@ check mirror_legs $vg $lv1 2
#check mirror $vg $lv1 $dev3
#check mirror_no_temporaries $vg $lv1
#check mirror_legs $vg $lv1 4
+#lvremove -ff $vg
# Linear to mirror with mirrored log using --alloc anywhere
-aux prepare_vg 5
lvcreate -l2 -n $lv1 $vg $dev1
lvconvert -m +1 --mirrorlog mirrored $vg/$lv1 $dev1 $dev2 --alloc anywhere
should check mirror $vg $lv1
+lvremove -ff $vg
# convert inactive mirror and start polling
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
lvchange -an $vg/$lv1
lvconvert -m+1 $vg/$lv1 $dev4
@@ -153,12 +151,12 @@ lvchange -ay $vg/$lv1
lvconvert $vg/$lv1 # wait
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
+lvremove -ff $vg
# ---------------------------------------------------------------------
# removal during conversion
# "remove newly added mirror"
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
lvconvert -m+1 -b $vg/$lv1 $dev4
lvconvert -m-1 $vg/$lv1 $dev4
@@ -167,9 +165,9 @@ lvconvert $vg/$lv1 # wait
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 2
+lvremove -ff $vg
# "remove one of newly added mirrors"
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
lvconvert -m+2 -b $vg/$lv1 $dev4 $dev5
lvconvert -m-1 $vg/$lv1 $dev4
@@ -178,9 +176,9 @@ lvconvert $vg/$lv1 # wait
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 3
+lvremove -ff $vg
# "remove from original mirror (the original is still mirror)"
-aux prepare_vg 5
lvcreate -l2 -m2 -n $lv1 $vg $dev1 $dev2 $dev5 $dev3:0
lvconvert -m+1 -b $vg/$lv1 $dev4
lvconvert -m-1 $vg/$lv1 $dev2
@@ -189,9 +187,9 @@ lvconvert $vg/$lv1
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 3
+lvremove -ff $vg
# "remove from original mirror (the original becomes linear)"
-aux prepare_vg 5
lvcreate -l2 -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
lvconvert -m+1 -b $vg/$lv1 $dev4
lvconvert -m-1 $vg/$lv1 $dev2
@@ -200,44 +198,44 @@ lvconvert $vg/$lv1
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 2
+lvremove -ff $vg
# ---------------------------------------------------------------------
# "rhbz440405: lvconvert -m0 incorrectly fails if all PEs allocated"
-aux prepare_vg 5
lvcreate -l`pvs --noheadings -ope_count $dev1` -m1 -n $lv1 $vg $dev1 $dev2 $dev3:0
wait_for_mirror_in_sync_ $vg/$lv1
lvconvert -m0 $vg/$lv1 $dev1
check linear $vg $lv1
+lvremove -ff $vg
# "rhbz264241: lvm mirror doesn't lose it's "M" --nosync attribute after being down and the up converted"
-aux prepare_vg 5
lvcreate -l2 -m1 -n$lv1 --nosync $vg
lvconvert -m0 $vg/$lv1
lvconvert -m1 $vg/$lv1
lvs --noheadings -o attr $vg/$lv1 | grep '^ *m'
+lvremove -ff $vg
# lvconvert from linear (on multiple PVs) to mirror
-aux prepare_vg 5
lvcreate -l 8 -n $lv1 $vg $dev1:0-3 $dev2:0-3
lvconvert -m1 $vg/$lv1
should check mirror $vg $lv1
check mirror_legs $vg $lv1 2
+lvremove -ff $vg
# BZ 463272: disk log mirror convert option is lost if downconvert option is also given
-aux prepare_vg 5
lvcreate -l1 -m2 --corelog -n $lv1 $vg $dev1 $dev2 $dev3
wait_for_mirror_in_sync_ $vg/$lv1
lvconvert -m1 --mirrorlog disk $vg/$lv1
check mirror $vg $lv1
not check mirror $vg $lv1 core
+lvremove -ff $vg
# ---
# add mirror and disk log
# "add 1 mirror and disk log"
-aux prepare_vg 5
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg $dev1 $dev2
# FIXME on next line, specifying $dev3:0 $dev4 (i.e log device first) fails (!)
@@ -246,9 +244,9 @@ lvconvert -m+1 --mirrorlog disk -i1 $vg/$lv1 $dev4 $dev3:0
check mirror $vg $lv1 $dev3
check mirror_no_temporaries $vg $lv1
check mirror_legs $vg $lv1 3
+lvremove -ff $vg
# simple mirrored stripe
-aux prepare_vg 5
lvcreate -i2 -l10 -n $lv1 $vg
lvconvert -m1 -i1 $vg/$lv1
lvreduce -f -l1 $vg/$lv1
@@ -258,4 +256,4 @@ lvremove -ff $vg/$lv1
# extents must be divisible
lvcreate -l15 -n $lv1 $vg
not lvconvert -m1 --corelog --stripes 2 $vg/$lv1
-lvremove -ff $vg/$lv1
+lvremove -ff $vg
diff --git a/test/shell/lvconvert-raid.sh b/test/shell/lvconvert-raid.sh
index 73d1a000..66a7a249 100644
--- a/test/shell/lvconvert-raid.sh
+++ b/test/shell/lvconvert-raid.sh
@@ -100,7 +100,7 @@ function is_raid_available()
########################################################
# MAIN
########################################################
-is_raid_available || exit 200
+is_raid_available || skip
aux prepare_vg 5 80
@@ -213,5 +213,3 @@ for i in 1 2 3 ; do
lvconvert --type raid1 $vg/$lv1
lvremove -ff $vg
done
-
-exit 0
diff --git a/test/shell/lvconvert-repair.sh b/test/shell/lvconvert-repair.sh
index 6a6b88e9..d6c35564 100644
--- a/test/shell/lvconvert-repair.sh
+++ b/test/shell/lvconvert-repair.sh
@@ -11,6 +11,12 @@
. lib/test
+recreate_vg_()
+{
+ vgremove -ff $vg
+ vgcreate -c n $vg $(cat DEVICES)
+}
+
aux lvmconf 'allocation/maximise_cling = 0'
aux lvmconf 'allocation/mirror_logs_require_separate_pvs = 1'
@@ -27,7 +33,7 @@ aux enable_dev $dev2 $dev4
check mirror $vg 4way $dev5
# 3-way, disk log => linear
-aux prepare_vg 5
+recreate_vg_
lvcreate -m 2 --ig -L 1 -n 3way $vg
aux disable_dev $dev1 $dev2
echo n | lvconvert --repair $vg/3way
@@ -42,7 +48,7 @@ check linear $vg 3way
# fail just log and get it removed
# 3-way, disk log => 3-way, core log
-aux prepare_vg 5
+recreate_vg_
lvcreate -m 2 --ig -L 1 -n 3way $vg $dev1 $dev2 $dev3 $dev4:0
aux disable_dev $dev4
echo n | lvconvert --repair $vg/3way
@@ -54,7 +60,7 @@ vgreduce --removemissing $vg
aux enable_dev $dev4
# 3-way, mirrored log => 3-way, core log
-aux prepare_vg 5
+recreate_vg_
lvcreate -m 2 --mirrorlog mirrored --ig -L 1 -n 3way $vg \
$dev1 $dev2 $dev3 $dev4:0 $dev5:0
aux disable_dev $dev4 $dev5
@@ -67,7 +73,7 @@ vgreduce --removemissing $vg
aux enable_dev $dev4 $dev5
# 2-way, disk log => 2-way, core log
-aux prepare_vg 5
+recreate_vg_
lvcreate -m 1 --ig -L 1 -n 2way $vg $dev1 $dev2 $dev3:0
aux disable_dev $dev3
echo n | lvconvert --repair $vg/2way
@@ -79,7 +85,7 @@ aux enable_dev $dev3
# fail single devices
-aux prepare_vg 5
+recreate_vg_
vgreduce $vg $dev4
lvcreate -m 1 --ig -L 1 -n mirror $vg
@@ -105,4 +111,4 @@ lvconvert -y --repair $vg/mirror
vgreduce --removemissing $vg
aux enable_dev $dev3
vgextend $vg $dev3
-lvremove -ff $vg
+vgremove -ff $vg
diff --git a/test/shell/lvcreate-raid.sh b/test/shell/lvcreate-raid.sh
index 5c687b44..4d595cf4 100644
--- a/test/shell/lvcreate-raid.sh
+++ b/test/shell/lvcreate-raid.sh
@@ -44,7 +44,7 @@ function wait_for_raid_sync()
local i=0
while ! is_raid_in_sync $1; do
- sleep 2
+ sleep .2
i=$(($i + 1))
if [ $i -gt 500 ]; then
echo "Sync is taking too long - assume stuck"
@@ -53,31 +53,13 @@ function wait_for_raid_sync()
done
}
-function is_raid_available()
-{
- local a
-
- modprobe dm-raid
- a=(`dmsetup targets | grep raid`)
- if [ -z $a ]; then
- echo "RAID target not available"
- return 1
- fi
- if [ ${a[1]} != "v1.1.0" ]; then
- echo "Bad RAID version"
- return 1
- fi
-
- return 0
-}
-
########################################################
# MAIN
########################################################
-is_raid_available || exit 200
-
-aux prepare_vg 5 80
+aux target_at_least dm-raid 1 1 0 || skip
+aux prepare_pvs 5 20
+vgcreate -c n -s 512k $vg $(cat DEVICES)
###########################################
# Create, wait for sync, remove tests
diff --git a/test/shell/lvextend-snapshot-dmeventd.sh b/test/shell/lvextend-snapshot-dmeventd.sh
index 06f7b524..f8e0fe72 100644
--- a/test/shell/lvextend-snapshot-dmeventd.sh
+++ b/test/shell/lvextend-snapshot-dmeventd.sh
@@ -25,7 +25,7 @@ percent() {
lvs $vg/snap -o snap_percent --noheadings | cut -c4- | cut -d. -f1
}
-which mkfs.ext2 || exit 200
+which mkfs.ext2 || skip
aux prepare_vg 3
aux prepare_dmeventd
diff --git a/test/shell/pvmove-basic.sh b/test/shell/pvmove-basic.sh
index 89d24e20..4789311b 100644
--- a/test/shell/pvmove-basic.sh
+++ b/test/shell/pvmove-basic.sh
@@ -14,6 +14,9 @@ test_description="ensure that pvmove works with basic options"
. lib/test
+which mkfs.ext2 || skip
+which md5sum || skip
+
# ---------------------------------------------------------------------
# Utilities
@@ -33,17 +36,22 @@ lv_is_on_() {
}
save_dev_sum_() {
- mkfs.ext3 $1 > /dev/null && md5sum $1 > md5.$(basename $1)
+ mkfs.ext2 $1 > /dev/null && md5sum $1 > md5.$(basename $1)
}
check_dev_sum_() {
- md5sum $1 > md5.tmp && cmp md5.$(basename $1) md5.tmp
+ md5sum -c md5.$(basename $1)
}
+create_vg_() {
+ vgcreate -c n -s 128k $vg $(cat DEVICES)
+}
# ---------------------------------------------------------------------
# Initialize PVs and VGs
-aux prepare_vg 5 40
+#aux prepare_vg 5 30
+aux prepare_pvs 5 5
+create_vg_
# ---------------------------------------------------------------------
# Common environment setup/cleanup for each sub testcases
@@ -85,11 +93,10 @@ check_and_cleanup_lvs_() {
check_dev_sum_ $(lvdev_ $vg $lv3)
lvs -a -o name $vg > out && ! grep ^pvmove out
lvremove -ff $vg
- if ! dmsetup table|not grep $vg; then
- echo "ERROR: lvremove did leave some some mappings in DM behind!" && \
- return 1
- fi
- :
+ if ! dmsetup table|not grep $vg; then
+ echo "ERROR: lvremove did leave some some mappings in DM behind!" && \
+ return 1
+ fi
}
#COMM "check environment setup/cleanup"
@@ -104,7 +111,7 @@ check_and_cleanup_lvs_
#COMM "only specified LV is moved: from pv2 to pv5 only for lv1"
prepare_lvs_
-pvmove -i1 -n $vg/$lv1 $dev2 $dev5
+pvmove -i1 -n $vg/$lv1 $dev2 $dev5
lv_is_on_ $vg/$lv1 $dev1 $dev5 $dev3 $dev1
lv_not_changed_ $vg/$lv2
lv_not_changed_ $vg/$lv3
@@ -115,7 +122,7 @@ check_and_cleanup_lvs_
#COMM "the 1st seg of 3-segs LV is moved: from pv1 of lv1 to pv4"
prepare_lvs_
-pvmove -i1 -n $vg/$lv1 $dev1 $dev4
+pvmove -i0 -n $vg/$lv1 $dev1 $dev4
lv_is_on_ $vg/$lv1 $dev4 $dev2 $dev3 $dev4
lv_not_changed_ $vg/$lv2
lv_not_changed_ $vg/$lv3
@@ -123,7 +130,7 @@ check_and_cleanup_lvs_
#COMM "the 2nd seg of 3-segs LV is moved: from pv2 of lv1 to pv4"
prepare_lvs_
-pvmove -i1 -n $vg/$lv1 $dev2 $dev4
+pvmove -i0 -n $vg/$lv1 $dev2 $dev4
lv_is_on_ $vg/$lv1 $dev1 $dev4 $dev3 $dev1
lv_not_changed_ $vg/$lv2
lv_not_changed_ $vg/$lv3
@@ -131,7 +138,7 @@ check_and_cleanup_lvs_
#COMM "the 3rd seg of 3-segs LV is moved: from pv3 of lv1 to pv4"
prepare_lvs_
-pvmove -i1 -n $vg/$lv1 $dev3 $dev4
+pvmove -i0 -n $vg/$lv1 $dev3 $dev4
lv_is_on_ $vg/$lv1 $dev1 $dev2 $dev4 $dev1
lv_not_changed_ $vg/$lv2
lv_not_changed_ $vg/$lv3
@@ -142,7 +149,7 @@ check_and_cleanup_lvs_
#COMM "1 out of 3 LVs is moved: from pv4 to pv5"
prepare_lvs_
-pvmove -i1 $dev4 $dev5
+pvmove -i0 $dev4 $dev5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev3 $dev5
lv_not_changed_ $vg/$lv3
@@ -150,7 +157,7 @@ check_and_cleanup_lvs_
#COMM "2 out of 3 LVs are moved: from pv3 to pv5"
prepare_lvs_
-pvmove -i1 $dev3 $dev5
+pvmove -i0 $dev3 $dev5
lv_is_on_ $vg/$lv1 $dev1 $dev2 $dev5 $dev1
lv_is_on_ $vg/$lv2 $dev2 $dev5 $dev4
lv_not_changed_ $vg/$lv3
@@ -158,7 +165,7 @@ check_and_cleanup_lvs_
#COMM "3 out of 3 LVs are moved: from pv2 to pv5"
prepare_lvs_
-pvmove -i1 $dev2 $dev5
+pvmove -i0 $dev2 $dev5
lv_is_on_ $vg/$lv1 $dev1 $dev5 $dev3 $dev1
lv_is_on_ $vg/$lv2 $dev5 $dev3 $dev4
lv_is_on_ $vg/$lv3 $dev5
@@ -169,7 +176,7 @@ check_and_cleanup_lvs_
#COMM "move the 1st stripe: from pv2 of lv2 to pv1"
prepare_lvs_
-pvmove -i1 -n $vg/$lv2 $dev2 $dev1
+pvmove -i0 -n $vg/$lv2 $dev2 $dev1
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev1 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -177,7 +184,7 @@ check_and_cleanup_lvs_
#COMM "move the 2nd stripe: from pv3 of lv2 to pv1"
prepare_lvs_
-pvmove -i1 -n $vg/$lv2 $dev3 $dev1
+pvmove -i0 -n $vg/$lv2 $dev3 $dev1
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev1 $dev4
lv_not_changed_ $vg/$lv3
@@ -185,7 +192,7 @@ check_and_cleanup_lvs_
#COMM "move the 3rd stripe: from pv4 of lv2 to pv1"
prepare_lvs_
-pvmove -i1 -n $vg/$lv2 $dev4 $dev1
+pvmove -i0 -n $vg/$lv2 $dev4 $dev1
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev3 $dev1
lv_not_changed_ $vg/$lv3
@@ -196,7 +203,7 @@ check_and_cleanup_lvs_
#COMM "match to the start of segment:from pv2:0-0 to pv5"
prepare_lvs_
-pvmove -i1 $dev2:0-0 $dev5
+pvmove -i0 $dev2:0-0 $dev5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev5 $dev2 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -204,7 +211,7 @@ check_and_cleanup_lvs_
#COMM "match to the middle of segment: from pv2:1-1 to pv5"
prepare_lvs_
-pvmove -i1 $dev2:1-1 $dev5
+pvmove -i0 $dev2:1-1 $dev5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev5 $dev2 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -212,7 +219,7 @@ check_and_cleanup_lvs_
#COMM "match to the end of segment: from pv2:2-2 to pv5"
prepare_lvs_
-pvmove -i1 $dev2:2-2 $dev5
+pvmove -i0 $dev2:2-2 $dev5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev5 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -223,7 +230,7 @@ check_and_cleanup_lvs_
#COMM "no destination split: from pv2:0-2 to pv5"
prepare_lvs_
-pvmove -i1 $dev2:0-2 $dev5
+pvmove -i0 $dev2:0-2 $dev5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev5 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -231,7 +238,7 @@ check_and_cleanup_lvs_
#COMM "destination split into 2: from pv2:0-2 to pv5:5-5 and pv4:5-6"
prepare_lvs_
-pvmove -i1 --alloc anywhere $dev2:0-2 $dev5:5-5 $dev4:5-6
+pvmove -i0 --alloc anywhere $dev2:0-2 $dev5:5-5 $dev4:5-6
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev5 $dev4 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -239,7 +246,7 @@ check_and_cleanup_lvs_
#COMM "destination split into 3: from pv2:0-2 to {pv3,4,5}:5-5"
prepare_lvs_
-pvmove -i1 --alloc anywhere $dev2:0-2 $dev3:5-5 $dev4:5-5 $dev5:5-5
+pvmove -i0 --alloc anywhere $dev2:0-2 $dev3:5-5 $dev4:5-5 $dev5:5-5
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev3 $dev4 $dev5 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -250,7 +257,7 @@ check_and_cleanup_lvs_
#COMM "alloc normal on same PV for source and destination: from pv3:0-2 to pv3:5-7"
prepare_lvs_
-not pvmove -i1 $dev3:0-2 $dev3:5-7
+not pvmove -i0 $dev3:0-2 $dev3:5-7
# "(cleanup previous test)"
lv_not_changed_ $vg/$lv1
lv_not_changed_ $vg/$lv2
@@ -259,7 +266,7 @@ check_and_cleanup_lvs_
#COMM "alloc anywhere on same PV for source and destination: from pv3:0-2 to pv3:5-7"
prepare_lvs_
-pvmove -i1 --alloc anywhere $dev3:0-2 $dev3:5-7
+pvmove -i0 --alloc anywhere $dev3:0-2 $dev3:5-7
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev2 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -267,7 +274,7 @@ check_and_cleanup_lvs_
#COMM "alloc anywhere but better area available: from pv3:0-2 to pv3:5-7 or pv5:5-6,pv4:5-5"
prepare_lvs_
-pvmove -i1 --alloc anywhere $dev3:0-2 $dev3:5-7 $dev5:5-6 $dev4:5-5
+pvmove -i0 --alloc anywhere $dev3:0-2 $dev3:5-7 $dev5:5-6 $dev4:5-5
lv_not_changed_ $vg/$lv1
#lv_is_on_ $vg/$lv2 $dev2 $dev5 $dev4 $dev4
lv_not_changed_ $vg/$lv3
@@ -275,7 +282,7 @@ check_and_cleanup_lvs_
#COMM "alloc contiguous but area not available: from pv2:0-2 to pv5:5-5 and pv4:5-6"
prepare_lvs_
-not pvmove -i1 --alloc contiguous $dev2:0-2 $dev5:5-5 $dev4:5-6
+not pvmove -i0 --alloc contiguous $dev2:0-2 $dev5:5-5 $dev4:5-6
# "(cleanup previous test)"
lv_not_changed_ $vg/$lv1
lv_not_changed_ $vg/$lv2
@@ -284,7 +291,7 @@ check_and_cleanup_lvs_
#COMM "alloc contiguous and contiguous area available: from pv2:0-2 to pv5:0-0,pv5:3-5 and pv4:5-6"
prepare_lvs_
-pvmove -i1 --alloc contiguous $dev2:0-2 $dev5:0-0 $dev5:3-5 $dev4:5-6
+pvmove -i0 --alloc contiguous $dev2:0-2 $dev5:0-0 $dev5:3-5 $dev4:5-6
lv_not_changed_ $vg/$lv1
lv_is_on_ $vg/$lv2 $dev5 $dev3 $dev4
lv_not_changed_ $vg/$lv3
@@ -295,7 +302,7 @@ check_and_cleanup_lvs_
#COMM "multiple source LVs: from pv3 to pv5"
prepare_lvs_
-pvmove -i1 $dev3 $dev5
+pvmove -i0 $dev3 $dev5
lv_is_on_ $vg/$lv1 $dev1 $dev2 $dev5
lv_is_on_ $vg/$lv2 $dev2 $dev5 $dev4
lv_not_changed_ $vg/$lv3
@@ -308,7 +315,7 @@ check_and_cleanup_lvs_
prepare_lvs_
lvchange -an $vg/$lv1
lvchange -an $vg/$lv3
-pvmove -i1 $dev2 $dev5
+pvmove -i0 $dev2 $dev5
lv_is_on_ $vg/$lv1 $dev1 $dev5 $dev3
lv_is_on_ $vg/$lv2 $dev5 $dev3 $dev4
lv_is_on_ $vg/$lv3 $dev5
@@ -319,8 +326,8 @@ check_and_cleanup_lvs_
#COMM "no PEs to move: from pv3 to pv1"
prepare_lvs_
-pvmove -i1 $dev3 $dev1
-not pvmove -i1 $dev3 $dev1
+pvmove -i0 $dev3 $dev1
+not pvmove -i0 $dev3 $dev1
# "(cleanup previous test)"
lv_is_on_ $vg/$lv1 $dev1 $dev2 $dev1
lv_is_on_ $vg/$lv2 $dev2 $dev1 $dev4
@@ -329,7 +336,7 @@ check_and_cleanup_lvs_
#COMM "no space available: from pv2:0-0 to pv1:0-0"
prepare_lvs_
-not pvmove -i1 $dev2:0-0 $dev1:0-0
+not pvmove -i0 $dev2:0-0 $dev1:0-0
# "(cleanup previous test)"
lv_not_changed_ $vg/$lv1
lv_not_changed_ $vg/$lv2
@@ -338,7 +345,7 @@ check_and_cleanup_lvs_
#COMM 'same source and destination: from pv1 to pv1'
prepare_lvs_
-not pvmove -i1 $dev1 $dev1
+not pvmove -i0 $dev1 $dev1
#"(cleanup previous test)"
lv_not_changed_ $vg/$lv1
lv_not_changed_ $vg/$lv2
@@ -359,7 +366,7 @@ check_and_cleanup_lvs_
#COMM "pvmove abort"
prepare_lvs_
-pvmove -i100 -b $dev1 $dev3
+pvmove -i100 -b $dev1 $dev3
pvmove --abort
check_and_cleanup_lvs_
@@ -367,7 +374,7 @@ check_and_cleanup_lvs_
vgremove -ff $vg
pvcreate $(cat DEVICES)
pvcreate --metadatacopies 0 $dev1 $dev2
-vgcreate -c n $vg $(cat DEVICES)
+create_vg_
lvcreate -l4 -n $lv1 $vg $dev1
pvmove $dev1
diff --git a/test/shell/vgsplit-operation.sh b/test/shell/vgsplit-operation.sh
index 20a5cb25..5242cdd8 100644
--- a/test/shell/vgsplit-operation.sh
+++ b/test/shell/vgsplit-operation.sh
@@ -17,7 +17,11 @@ COMM() {
LAST_TEST="$@"
}
-aux prepare_pvs 5 258
+create_vg_() {
+ vgcreate -c n -s 64k "$@"
+}
+
+aux prepare_pvs 5 10
# FIXME: paramaterize lvm1 vs lvm2 metadata; most of these tests should run
# fine with lvm1 metadata as well; for now, just add disks 5 and 6 as lvm1
# metadata
@@ -33,10 +37,9 @@ do
for j in PV LV
do
COMM "vgsplit correctly splits single linear LV into $i VG ($j args)"
- vgcreate $vg1 $dev1 $dev2
- if [ $i = existing ]; then
- vgcreate $vg2 $dev3 $dev4
- fi
+ create_vg_ $vg1 $dev1 $dev2
+ test $i = existing && create_vg_ $vg2 $dev3 $dev4
+
lvcreate -l 4 -n $lv1 $vg1 $dev1
vgchange -an $vg1
if [ $j = PV ]; then
@@ -51,14 +54,12 @@ COMM "vgsplit correctly splits single linear LV into $i VG ($j args)"
check pvlv_counts $vg2 1 1 0
fi
lvremove -f $vg2/$lv1
- vgremove -f $vg2
- vgremove -f $vg1
+ vgremove -f $vg2 $vg1
COMM "vgsplit correctly splits single striped LV into $i VG ($j args)"
- vgcreate $vg1 $dev1 $dev2
- if [ $i = existing ]; then
- vgcreate $vg2 $dev3 $dev4
- fi
+ create_vg_ $vg1 $dev1 $dev2
+ test $i = existing && create_vg_ $vg2 $dev3 $dev4
+
lvcreate -l 4 -i 2 -n $lv1 $vg1 $dev1 $dev2
vgchange -an $vg1
if [ $j = PV ]; then
@@ -75,10 +76,9 @@ COMM "vgsplit correctly splits single striped LV into $i VG ($j args)"
vgremove -f $vg2
COMM "vgsplit correctly splits mirror LV into $i VG ($j args)"
- vgcreate -c n $vg1 $dev1 $dev2 $dev3
- if [ $i = existing ]; then
- vgcreate -c n $vg2 $dev4
- fi
+ create_vg_ $vg1 $dev1 $dev2 $dev3
+ test $i = existing && create_vg_ $vg2 $dev4
+
lvcreate -l 64 -m1 -n $lv1 $vg1 $dev1 $dev2 $dev3
vgchange -an $vg1
if [ $j = PV ]; then
@@ -96,10 +96,8 @@ COMM "vgsplit correctly splits mirror LV into $i VG ($j args)"
# FIXME: ensure split /doesn't/ work when not all devs of mirror specified
COMM "vgsplit correctly splits mirror LV with mirrored log into $i VG ($j args)"
- vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
- if [ $i = existing ]; then
- vgcreate -c n $vg2 $dev5
- fi
+ create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
+ test $i = existing && create_vg_ $vg2 $dev5
lvcreate -l 64 --mirrorlog mirrored -m1 -n $lv1 $vg1 \
$dev1 $dev2 $dev3 $dev4
@@ -120,10 +118,9 @@ COMM "vgsplit correctly splits mirror LV with mirrored log into $i VG ($j args)"
# FIXME: ensure split /doesn't/ work when not all devs of mirror specified
COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)"
- vgcreate -c n $vg1 $dev1 $dev2
- if [ $i = existing ]; then
- vgcreate -c n $vg2 $dev3 $dev4
- fi
+ create_vg_ $vg1 $dev1 $dev2
+ test $i = existing && create_vg_ $vg2 $dev3 $dev4
+
lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2
lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1
vgchange -an $vg1
@@ -137,15 +134,14 @@ COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)"
else
check pvlv_counts $vg2 2 2 1
fi
- lvremove -f $vg2/$lv2
- lvremove -f $vg2/$lv1
+ lvremove -f $vg2/$lv2
+ lvremove -f $vg2/$lv1
vgremove -f $vg2
COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j args)"
- vgcreate -c n $vg1 $dev1 $dev2
- if [ $i = existing ]; then
- vgcreate -c n $vg2 $dev3
- fi
+ create_vg_ $vg1 $dev1 $dev2
+ test $i = existing && create_vg_ $vg2 $dev3
+
lvcreate -l 64 -i 2 -n $lv1 $vg1
lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1
vgextend $vg1 $dev4
@@ -163,24 +159,18 @@ COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j a
check pvlv_counts $vg2 1 1 0
check pvlv_counts $vg1 2 2 1
fi
- lvremove -f $vg1/$lv2
- lvremove -f $vg1/$lv1
- lvremove -f $vg2/$lv3
- vgremove -f $vg1
- vgremove -f $vg2
+ lvremove -f $vg1/$lv2
+ lvremove -f $vg1/$lv1 $vg2/$lv3
+ vgremove -f $vg1 $vg2
COMM "vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)"
- vgcreate -c n $vg1 $dev1 $dev2 $dev3
- if [ $i = existing ]; then
- vgcreate -c n $vg2 $dev5
- fi
+ create_vg_ $vg1 $dev1 $dev2 $dev3
+ test $i = existing && create_vg_ $vg2 $dev5
+
lvcreate -l 64 -m1 -n $lv1 $vg1 $dev1 $dev2 $dev3
vgextend $vg1 $dev4
lvcreate -l 64 -n $lv2 $vg1 $dev4
vgchange -an $vg1
- vgs
- lvs
- pvs
if [ $j = PV ]; then
vgsplit $vg1 $vg2 $dev4
else
@@ -190,16 +180,11 @@ COMM "vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)"
check pvlv_counts $vg1 3 1 0
check pvlv_counts $vg2 2 1 0
else
- vgs
- lvs
- pvs
check pvlv_counts $vg1 3 1 0
check pvlv_counts $vg2 1 1 0
fi
- lvremove -f $vg1/$lv1
- lvremove -f $vg2/$lv2
- vgremove -f $vg1
- vgremove -f $vg2
+ lvremove -f $vg1/$lv1 $vg2/$lv2
+ vgremove -f $vg1 $vg2
done
done
@@ -209,7 +194,7 @@ done
# LVs to split the VG correctly
#
COMM "vgsplit fails splitting 3 striped LVs into VG when only 1 LV specified"
-vgcreate $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 4 -n $lv1 -i 2 $vg1 $dev1 $dev2
lvcreate -l 4 -n $lv2 -i 2 $vg1 $dev2 $dev3
lvcreate -l 4 -n $lv3 -i 2 $vg1 $dev3 $dev4
@@ -218,33 +203,31 @@ not vgsplit -n $lv1 $vg1 $vg2
vgremove -ff $vg1
COMM "vgsplit fails splitting one LV with 2 snapshots, only origin LV specified"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 $vg1 $dev1 $dev2
lvcreate -l 4 -n $lv2 -s $vg1/$lv1 $dev3
lvcreate -l 4 -n $lv3 -s $vg1/$lv1 $dev4
check pvlv_counts $vg1 4 3 2
vgchange -an $vg1
not vgsplit -n $lv1 $vg1 $vg2;
-lvremove -f $vg1/$lv2
-lvremove -f $vg1/$lv3
-lvremove -f $vg1/$lv1
+lvremove -f $vg1/$lv2 $vg1/$lv3
+lvremove -f $vg1/$lv1
vgremove -ff $vg1
COMM "vgsplit fails splitting one LV with 2 snapshots, only snapshot LV specified"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 $vg1 $dev1 $dev2
lvcreate -l 4 -n $lv2 -s $vg1/$lv1 $dev3
lvcreate -l 4 -n $lv3 -s $vg1/$lv1 $dev4
check pvlv_counts $vg1 4 3 2
vgchange -an $vg1
not vgsplit -n $lv2 $vg1 $vg2
-lvremove -f $vg1/$lv2
-lvremove -f $vg1/$lv3
-lvremove -f $vg1/$lv1
+lvremove -f $vg1/$lv2 $vg1/$lv3
+lvremove -f $vg1/$lv1
vgremove -ff $vg1
COMM "vgsplit fails splitting one mirror LV, only one PV specified"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3
check pvlv_counts $vg1 4 1 0
vgchange -an $vg1
@@ -252,7 +235,7 @@ not vgsplit $vg1 $vg2 $dev2
vgremove -ff $vg1
COMM "vgsplit fails splitting 1 mirror + 1 striped LV, only striped LV specified"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3
lvcreate -l 16 -n $lv2 -i 2 $vg1 $dev3 $dev4
check pvlv_counts $vg1 4 2 0
@@ -264,7 +247,7 @@ vgremove -ff $vg1
# Verify vgsplit rejects active LVs only when active LVs involved in split
#
COMM "vgsplit fails, active mirror involved in split"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3
lvcreate -l 16 -n $lv2 $vg1 $dev4
lvchange -an $vg1/$lv2
@@ -274,7 +257,7 @@ check pvlv_counts $vg1 4 2 0
vgremove -ff $vg1
COMM "vgsplit succeeds, active mirror not involved in split"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 16 -n $lv1 -m1 $vg1 $dev1 $dev2 $dev3
lvcreate -l 16 -n $lv2 $vg1 $dev4
lvchange -an $vg1/$lv2
@@ -282,11 +265,10 @@ check pvlv_counts $vg1 4 2 0
vgsplit -n $lv2 $vg1 $vg2
check pvlv_counts $vg1 3 1 0
check pvlv_counts $vg2 1 1 0
-vgremove -ff $vg1
-vgremove -ff $vg2
+vgremove -ff $vg1 $vg2
COMM "vgsplit fails, active snapshot involved in split"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3 $dev4
+create_vg_ $vg1 $dev1 $dev2 $dev3 $dev4
lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2
lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1
lvcreate -l 64 -i 2 -n $lv3 $vg1 $dev3 $dev4
@@ -298,7 +280,7 @@ lvremove -f $vg1/$lv2
vgremove -ff $vg1
COMM "vgsplit succeeds, active snapshot not involved in split"
-vgcreate -c n $vg1 $dev1 $dev2 $dev3
+create_vg_ $vg1 $dev1 $dev2 $dev3
lvcreate -l 64 -i 2 -n $lv1 $vg1 $dev1 $dev2
lvcreate -l 4 -s -n $lv2 $vg1/$lv1
vgextend $vg1 $dev4
@@ -310,6 +292,4 @@ check pvlv_counts $vg1 3 2 1
check pvlv_counts $vg2 1 1 0
vgchange -an $vg1
lvremove -f $vg1/$lv2
-vgremove -ff $vg1
-vgremove -ff $vg2
-
+vgremove -ff $vg1 $vg2