summaryrefslogtreecommitdiffstats
path: root/test/shell/vgsplit-operation.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/shell/vgsplit-operation.sh')
-rw-r--r--test/shell/vgsplit-operation.sh116
1 files changed, 48 insertions, 68 deletions
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