1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

tests: test mirrors in clustered way

Make the clustered testing using cluster locking for most of the tests.
Use exclusive activation for mirrors and snapshot origins.
This commit is contained in:
Zdenek Kabelac 2013-05-31 21:11:51 +02:00
parent e9e7421c8e
commit db2b65704c
30 changed files with 280 additions and 251 deletions

View File

@ -24,7 +24,7 @@ pvcreate --metadatacopies 0 "$dev2"
pvcreate --metadatacopies 0 "$dev3"
pvcreate "$dev4"
pvcreate --norestorefile -u $TEST_UUID --metadatacopies 0 "$dev5"
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
lvcreate -l 5 -i5 -I256 -n $lv $vg
if aux have_readline; then

View File

@ -29,7 +29,7 @@ test $(pvs --noheadings $(cat DEVICES) | wc -l) -eq 5
#COMM pvs with segment attributes works even for orphans
test $(pvs --noheadings -o seg_all,pv_all,lv_all,vg_all $(cat DEVICES) | wc -l) -eq 5
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
#COMM pvs and vgs report mda_count, mda_free (bz202886, bz247444)
pvs -o +pv_mda_count,pv_mda_free $(cat DEVICES)
@ -45,7 +45,7 @@ pvdisplay "$dev2"|grep "VG Name.*$vg"
check pv_field "$dev2" vg_name $vg
#COMM lvs displays snapshots (bz171215)
lvcreate -l4 -n $lv1 $vg
lvcreate -aey -l4 -n $lv1 $vg
lvcreate -l4 -s -n $lv2 $vg/$lv1
test $(lvs --noheadings $vg | wc -l) -eq 2
# should lvs -a display cow && real devices? (it doesn't)
@ -54,7 +54,7 @@ dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv."
lvremove -f $vg/$lv2
#COMM lvs -a displays mirror legs and log
lvcreate -l4 -m2 -n $lv3 $vg
lvcreate -aey -l4 -m2 -n $lv3 $vg
test $(lvs --noheadings $vg | wc -l) -eq 2
test $(lvs -a --noheadings $vg | wc -l) -eq 6
dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv."

View File

@ -17,7 +17,7 @@ aux prepare_vg 3
# force resync 2-way active mirror
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3":0-1
check mirror $vg $lv1 "$dev3"
echo y | lvchange --resync $vg/$lv1
lvchange -y --resync $vg/$lv1
check mirror $vg $lv1 "$dev3"
lvremove -ff $vg

View File

@ -76,12 +76,12 @@ test_lvconvert() {
alloc="--alloc anywhere"
fi
lvcreate -l2 -m $start_count --mirrorlog $start_log_type \
lvcreate -aey -l2 -m $start_count --mirrorlog $start_log_type \
-n $lv1 $vg $alloc
check mirror_legs $vg $lv1 $start_count_p1
# FIXME: check mirror log
else
lvcreate -l2 -n $lv1 $vg
lvcreate -aey -l2 -n $lv1 $vg
fi
lvs -a -o name,copy_percent,devices $vg
@ -95,7 +95,7 @@ test_lvconvert() {
lvconvert -m $finish_count --mirrorlog $finish_log_type \
$vg/$lv1 $alloc
test $active || lvchange -ay $vg/$lv1
test $active || lvchange -aey $vg/$lv1
check mirror_no_temporaries $vg $lv1
if [ "$finish_count_p1" -eq 1 ]; then
@ -110,14 +110,19 @@ test_lvconvert() {
fi
}
aux prepare_pvs 5 5
vgcreate -c n -s 128k $vg $(cat DEVICES)
vgcreate -s 32k $vg $(cat DEVICES)
MIRRORED="mirrored"
# FIXME: Cluster is not supporting exlusive activation of mirrored log
test -e LOCAL_CLVMD && MIRRORED=
test_many() {
i=$1
for j in $(seq 0 3); do
for k in core disk mirrored; do
for l in core disk mirrored; do
for k in core disk $MIRRORED; do
for l in core disk $MIRRORED; do
if test "$i" -eq "$j" && test "$k" = "$l"; then continue; fi
: ----------------------------------------------------
: "Testing mirror conversion -m$i/$k -> -m$j/$l"

View File

@ -1,5 +1,5 @@
#!/bin/sh
# Copyright (C) 2010 Red Hat, Inc. All rights reserved.
# Copyright (C) 2010-2013 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
@ -12,67 +12,53 @@
. lib/test
aux prepare_pvs 5 10
# FIXME - test fails with extent size < 512k
vgcreate -c n -s 512k $vg $(cat DEVICES)
# proper DEVRANGE needs to be set according to extent size
DEVRANGE="0-32"
vgcreate -s 32k $vg $(cat DEVICES)
# convert from linear to 2-way mirror
lvcreate -l2 -n $lv1 $vg "$dev1"
lvcreate -aey -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 linear to 2-way mirror - with tags and volume_list (bz683270)
lvcreate -l2 -n $lv1 $vg --addtag hello
lvcreate -aey -l2 -n $lv1 $vg --addtag hello
lvconvert -i1 -m+1 $vg/$lv1 \
--config 'activation { volume_list = [ "@hello" ] }'
lvremove -ff $vg
# convert from 2-way to 3-way mirror - with tags and volume_list (bz683270)
lvcreate -l2 -m1 -n $lv1 $vg --addtag hello
lvcreate -aey -l2 -m1 -n $lv1 $vg --addtag hello
lvconvert -i1 -m+1 $vg/$lv1 \
--config 'activation { volume_list = [ "@hello" ] }'
lvremove -ff $vg
# convert from 2-way mirror to linear
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvconvert -m-1 $vg/$lv1
check linear $vg $lv1
lvremove -ff $vg
# and now try removing a specific leg (bz453643)
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvconvert -m0 $vg/$lv1 "$dev2"
check lv_on $vg $lv1 "$dev1"
lvremove -ff $vg
# convert from disklog to corelog, active
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvcreate -aey -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
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvconvert --mirrorlog disk $vg/$lv1 "$dev3:0-1"
check mirror $vg $lv1 "$dev3"
lvremove -ff $vg
# bz192865: lvconvert log of an inactive mirror lv
# convert from disklog to corelog, inactive
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvchange -an $vg/$lv1
echo y | lvconvert -f --mirrorlog core $vg/$lv1
check mirror $vg $lv1 core
lvremove -ff $vg
# convert from corelog to disklog, inactive
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvchange -an $vg/$lv1
lvcreate -aey -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvconvert --mirrorlog disk $vg/$lv1 "$dev3:0-1"
check mirror $vg $lv1 "$dev3"
lvremove -ff $vg
# convert linear to 2-way mirror with 1 PV
lvcreate -l2 -n $lv1 $vg "$dev1"
lvcreate -aey -l2 -n $lv1 $vg "$dev1"
not lvconvert -m+1 --mirrorlog core $vg/$lv1 "$dev1"
lvremove -ff $vg
@ -80,7 +66,7 @@ lvremove -ff $vg
# Test pulling primary image before mirror in-sync (should fail)
# Test pulling primary image after mirror in-sync (should work)
# Test that the correct devices remain in the mirror
lvcreate -l2 -m2 -n $lv1 $vg "$dev1" "$dev2" "$dev4" "$dev3:0"
lvcreate -aey -l2 -m2 -n $lv1 $vg "$dev1" "$dev2" "$dev4" "$dev3:$DEVRANGE"
# FIXME:
# This is somewhat timing dependent - sync /could/ finish before
# we get a chance to have this command fail
@ -99,7 +85,7 @@ lvremove -ff $vg
# No parallel lvconverts on a single LV please
lvcreate -l5 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l5 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
check mirror $vg $lv1
check mirror_legs $vg $lv1 2
lvconvert -m+1 -b $vg/$lv1 "$dev4"
@ -116,7 +102,7 @@ lvremove -ff $vg
# add 1 mirror to core log mirror, but
# implicitly keep log as 'core'
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvcreate -aey -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvconvert -m +1 -i1 $vg/$lv1
check mirror $vg $lv1 core
@ -125,7 +111,7 @@ check mirror_legs $vg $lv1 3
lvremove -ff $vg
# remove 1 mirror from corelog'ed mirror; should retain 'core' log type
lvcreate -l2 -m2 --corelog -n $lv1 $vg
lvcreate -aey -l2 -m2 --corelog -n $lv1 $vg
lvconvert -m -1 -i1 $vg/$lv1
check mirror $vg $lv1 core
@ -144,17 +130,11 @@ lvremove -ff $vg
#check mirror_legs $vg $lv1 4
#lvremove -ff $vg
# Linear to mirror with mirrored log using --alloc anywhere
lvcreate -l2 -n $lv1 $vg "$dev1"
lvconvert -m +1 --mirrorlog mirrored --alloc anywhere $vg/$lv1 "$dev1" "$dev2"
should check mirror $vg $lv1
lvremove -ff $vg
# convert inactive mirror and start polling
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:$DEVRANGE"
lvchange -an $vg/$lv1
lvconvert -m+1 $vg/$lv1 "$dev4"
lvchange -ay $vg/$lv1
lvchange -aey $vg/$lv1
lvconvert $vg/$lv1 # wait
check mirror $vg $lv1 "$dev3"
check mirror_no_temporaries $vg $lv1
@ -164,7 +144,7 @@ lvremove -ff $vg
# removal during conversion
# "remove newly added mirror"
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:$DEVRANGE"
lvconvert -m+1 -b $vg/$lv1 "$dev4"
lvconvert -m-1 $vg/$lv1 "$dev4"
lvconvert $vg/$lv1 # wait
@ -175,7 +155,7 @@ check mirror_legs $vg $lv1 2
lvremove -ff $vg
# "remove one of newly added mirrors"
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:$DEVRANGE"
lvconvert -m+2 -b $vg/$lv1 "$dev4" "$dev5"
lvconvert -m-1 $vg/$lv1 "$dev4"
lvconvert $vg/$lv1 # wait
@ -186,7 +166,7 @@ check mirror_legs $vg $lv1 3
lvremove -ff $vg
# "remove from original mirror (the original is still mirror)"
lvcreate -l2 -m2 -n $lv1 $vg "$dev1" "$dev2" "$dev5" "$dev3:0"
lvcreate -aey -l2 -m2 -n $lv1 $vg "$dev1" "$dev2" "$dev5" "$dev3:$DEVRANGE"
lvconvert -m+1 -b $vg/$lv1 "$dev4"
lvconvert -m-1 $vg/$lv1 "$dev2"
lvconvert $vg/$lv1
@ -197,7 +177,7 @@ check mirror_legs $vg $lv1 3
lvremove -ff $vg
# "remove from original mirror (the original becomes linear)"
lvcreate -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:$DEVRANGE"
lvconvert -m+1 -b $vg/$lv1 "$dev4"
lvconvert -m-1 $vg/$lv1 "$dev2"
lvconvert $vg/$lv1
@ -210,21 +190,21 @@ lvremove -ff $vg
# ---------------------------------------------------------------------
# "rhbz440405: lvconvert -m0 incorrectly fails if all PEs allocated"
lvcreate -l`pvs --noheadings -ope_count "$dev1"` -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0"
lvcreate -aey -l$(pvs --noheadings -ope_count "$dev1") -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:$DEVRANGE"
aux wait_for_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"
lvcreate -l2 -m1 -n$lv1 --nosync $vg
lvcreate -aey -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
lvcreate -l 8 -n $lv1 $vg "$dev1:0-3" "$dev2:0-3"
lvcreate -aey -l 8 -n $lv1 $vg "$dev1:0-3" "$dev2:0-3"
lvconvert -m1 $vg/$lv1
should check mirror $vg $lv1
@ -232,7 +212,7 @@ check mirror_legs $vg $lv1 2
lvremove -ff $vg
# BZ 463272: disk log mirror convert option is lost if downconvert option is also given
lvcreate -l1 -m2 --corelog -n $lv1 $vg "$dev1" "$dev2" "$dev3"
lvcreate -aey -l1 -m2 --corelog -n $lv1 $vg "$dev1" "$dev2" "$dev3"
aux wait_for_sync $vg $lv1
lvconvert -m1 --mirrorlog disk $vg/$lv1
check mirror $vg $lv1
@ -243,10 +223,10 @@ lvremove -ff $vg
# add mirror and disk log
# "add 1 mirror and disk log"
lvcreate -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvcreate -aey -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
# FIXME on next line, specifying $dev3:0 $dev4 (i.e log device first) fails (!)
lvconvert -m+1 --mirrorlog disk -i1 $vg/$lv1 "$dev4" "$dev3:0"
lvconvert -m+1 --mirrorlog disk -i1 $vg/$lv1 "$dev4" "$dev3:$DEVRANGE"
check mirror $vg $lv1 "$dev3"
check mirror_no_temporaries $vg $lv1
@ -254,27 +234,61 @@ check mirror_legs $vg $lv1 3
lvremove -ff $vg
# simple mirrored stripe
lvcreate -i2 -l10 -n $lv1 $vg
lvcreate -aey -i2 -l10 -n $lv1 $vg
lvconvert -m1 -i1 $vg/$lv1
lvreduce -f -l1 $vg/$lv1
lvextend -f -l10 $vg/$lv1
lvremove -ff $vg/$lv1
# extents must be divisible
lvcreate -l15 -n $lv1 $vg
lvcreate -aey -l15 -n $lv1 $vg
not lvconvert -m1 --corelog --stripes 2 $vg/$lv1
lvremove -ff $vg
test -e LOCAL_CLVMD && exit 0
# FIXME - cases which needs to be fixed to work in cluster
# Linear to mirror with mirrored log using --alloc anywhere
lvcreate -aey -l2 -n $lv1 $vg "$dev1"
lvconvert -m +1 --mirrorlog mirrored --alloc anywhere $vg/$lv1 "$dev1" "$dev2"
should check mirror $vg $lv1
lvremove -ff $vg
# Should not be able to add images to --nosync mirror
# but should be able to after 'lvchange --resync'
lvcreate -m 1 -l1 -n $lv1 $vg --nosync
lvcreate -aey -m 1 -l1 -n $lv1 $vg --nosync
not lvconvert -m +1 $vg/$lv1
lvchange --resync -y $vg/$lv1
lvchange -aey --resync -y $vg/$lv1
lvconvert -m +1 $vg/$lv1
lvremove -ff $vg
lvcreate -m 1 --corelog -l1 -n $lv1 $vg --nosync
lvcreate -aey -m 1 --corelog -l1 -n $lv1 $vg --nosync
not lvconvert -m +1 $vg/$lv1
lvchange --resync -y $vg/$lv1
lvchange -aey --resync -y $vg/$lv1
lvconvert -m +1 $vg/$lv1
lvremove -ff $vg
# FIXME: Cluster exclusive activation does not work here
# unsure why lib/metadata/mirror.c
# has this code:
#
# } else if (vg_is_clustered(vg)) {
# log_error("Unable to convert the log of an inactive "
# "cluster mirror, %s", lv->name);
# return 0;
# disabling this in the code passes this test
# bz192865: lvconvert log of an inactive mirror lv
# convert from disklog to corelog, inactive
lvcreate -aey -l2 -m1 -n $lv1 $vg "$dev1" "$dev2" "$dev3:0-1"
lvchange -an $vg/$lv1
lvconvert -y -f --mirrorlog core $vg/$lv1
check mirror $vg $lv1 core
lvremove -ff $vg
# convert from corelog to disklog, inactive
lvcreate -aey -l2 -m1 --mirrorlog core -n $lv1 $vg "$dev1" "$dev2"
lvchange -an $vg/$lv1
lvconvert --mirrorlog disk $vg/$lv1 "$dev3:0-1"
check mirror $vg $lv1 "$dev3"
lvremove -ff $vg

View File

@ -19,74 +19,76 @@ aux lvmconf 'allocation/mirror_logs_require_separate_pvs = 1'
# multiple failures, full replace
lvcreate --mirrorlog disk -m 2 --ig -L 1 -n 3way $vg "$dev1" "$dev2" "$dev3" "$dev4":0-1
aux disable_dev "$dev1" "$dev2"
echo y | lvconvert --repair $vg/3way 2>&1 | tee 3way.out
lvconvert -y --repair $vg/3way 2>&1 | tee 3way.out
lvs -a -o +devices $vg | not grep unknown
not grep "WARNING: Failed" 3way.out
vgreduce --removemissing $vg
check mirror $vg 3way
aux enable_dev "$dev1" "$dev2"
vgremove -ff $vg; vgcreate -c n $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
# 2-way, mirrored log
# Double log failure, full replace
lvcreate --mirrorlog mirrored -m 1 --ig -L 1 -n 2way $vg \
"$dev1" "$dev2" "$dev3":0 "$dev4":0
aux disable_dev "$dev3" "$dev4"
echo y | lvconvert --repair $vg/2way 2>&1 | tee 2way.out
lvs -a -o +devices $vg | not grep unknown
not grep "WARNING: Failed" 2way.out
vgreduce --removemissing $vg
check mirror $vg 2way
aux enable_dev "$dev3" "$dev4"
vgremove -ff $vg; vgcreate -c n $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
# 3-way, mirrored log
# Single log failure, replace
lvcreate --mirrorlog mirrored -m 2 --ig -L 1 -n 3way $vg \
"$dev1" "$dev2" "$dev3" "$dev4":0 "$dev5":0
aux disable_dev "$dev4"
echo y | lvconvert --repair $vg/3way 2>&1 | tee 3way.out
lvs -a -o +devices $vg | not grep unknown
not grep "WARNING: Failed" 3way.out
vgreduce --removemissing $vg
check mirror $vg 3way
aux enable_dev "$dev4"
vgremove -ff $vg; vgcreate -c n $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
vgremove -ff $vg
# 3-way, disk log
# multiple failures, partial replace
lvcreate --mirrorlog disk -m 2 --ig -L 1 -n 3way $vg "$dev1" "$dev2" "$dev3" "$dev4"
vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
lvcreate -aey --mirrorlog disk -m 2 --ig -L 1 -n 3way $vg "$dev1" "$dev2" "$dev3" "$dev4"
aux disable_dev "$dev1" "$dev2"
echo y | lvconvert --repair $vg/3way 2>&1 | tee 3way.out
lvconvert -y --repair $vg/3way 2>&1 | tee 3way.out
grep "WARNING: Failed" 3way.out
lvs -a -o +devices $vg | not grep unknown
vgreduce --removemissing $vg
check mirror $vg 3way
aux enable_dev "$dev1" "$dev2"
lvchange -a n $vg/3way
vgremove -ff $vg
vgremove -ff $vg; vgcreate -c n $vg "$dev1" "$dev2" "$dev3"
lvcreate --mirrorlog disk -m 1 --ig -L 1 -n 2way $vg "$dev1" "$dev2" "$dev3"
vgcreate $vg "$dev1" "$dev2" "$dev3"
lvcreate -aey --mirrorlog disk -m 1 --ig -L 1 -n 2way $vg "$dev1" "$dev2" "$dev3"
aux disable_dev "$dev1"
echo y | lvconvert --repair $vg/2way 2>&1 | tee 2way.out
lvconvert -y --repair $vg/2way 2>&1 | tee 2way.out
grep "WARNING: Failed" 2way.out
lvs -a -o +devices $vg | not grep unknown
vgreduce --removemissing $vg
check mirror $vg 2way
aux enable_dev "$dev1" "$dev2"
lvchange -a n $vg/2way
vgremove -ff $vg; vgcreate -c n $vg "$dev1" "$dev2" "$dev3" "$dev4"
vgremove -ff $vg
# Test repair of inactive mirror with log failure
# Replacement should fail, but covert should succeed (switch to corelog)
lvcreate -m 2 --ig -l 2 -n mirror2 $vg "$dev1" "$dev2" "$dev3" "$dev4":0
# Replacement should fail, but convert should succeed (switch to corelog)
vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -aey -m 2 --ig -l 2 -n mirror2 $vg "$dev1" "$dev2" "$dev3" "$dev4":0
vgchange -a n $vg
pvremove -ff -y "$dev4"
echo 'y' | lvconvert -y --repair $vg/mirror2
lvconvert -y --repair $vg/mirror2
check mirror $vg mirror2
vgs $vg
vgremove -ff $vg
# FIXME - exclusive activation for mirrors should work here
test -e LOCAL_CLVMD && exit 0
# 2-way, mirrored log
# Double log failure, full replace
vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
lvcreate -aey --mirrorlog mirrored -m 1 --ig -L 1 -n 2way $vg \
"$dev1" "$dev2" "$dev3":0 "$dev4":0
aux disable_dev "$dev3" "$dev4"
lvconvert -y --repair $vg/2way 2>&1 | tee 2way.out
lvs -a -o +devices $vg | not grep unknown
not grep "WARNING: Failed" 2way.out
vgreduce --removemissing $vg
check mirror $vg 2way
aux enable_dev "$dev3" "$dev4"
vgremove -ff $vg
# 3-way, mirrored log
# Single log failure, replace
vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" "$dev6"
lvcreate -aey --mirrorlog mirrored -m 2 --ig -L 1 -n 3way $vg \
"$dev1" "$dev2" "$dev3" "$dev4":0 "$dev5":0
aux disable_dev "$dev4"
lvconvert -y --repair $vg/3way 2>&1 | tee 3way.out
lvs -a -o +devices $vg | not grep unknown
not grep "WARNING: Failed" 3way.out
vgreduce --removemissing $vg
check mirror $vg 3way
aux enable_dev "$dev4"
vgremove -ff $vg

View File

@ -1,5 +1,5 @@
#!/bin/sh
# Copyright (C) 2008 Red Hat, Inc. All rights reserved.
# Copyright (C) 2008-2013 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
@ -14,7 +14,7 @@
recreate_vg_()
{
vgremove -ff $vg
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg "$@" $(cat DEVICES)
}
aux lvmconf 'allocation/maximise_cling = 0'
@ -24,7 +24,7 @@ aux lvmconf 'allocation/mirror_logs_require_separate_pvs = 1'
# 4-way, disk log => 2-way, disk log
aux prepare_vg 8
lvcreate -m 3 --ig -L 1 -n 4way $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5":0
lvcreate -aey -m 3 --ig -L 1 -n 4way $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5":0
aux disable_dev "$dev2" "$dev4"
echo n | lvconvert --repair $vg/4way 2>&1 | tee 4way.out
lvs -a -o +devices $vg | not grep unknown
@ -34,7 +34,7 @@ check mirror $vg 4way "$dev5"
# 3-way, disk log => linear
recreate_vg_
lvcreate -m 2 --ig -L 1 -n 3way $vg
lvcreate -aey -m 2 --ig -L 1 -n 3way $vg
aux disable_dev "$dev1" "$dev2"
echo n | lvconvert --repair $vg/3way
check linear $vg 3way
@ -49,7 +49,7 @@ check linear $vg 3way
# 3-way, disk log => 3-way, core log
recreate_vg_
lvcreate -m 2 --ig -L 1 -n 3way $vg "$dev1" "$dev2" "$dev3" "$dev4":0
lvcreate -aey -m 2 --ig -L 1 -n 3way $vg "$dev1" "$dev2" "$dev3" "$dev4":0
aux disable_dev "$dev4"
echo n | lvconvert --repair $vg/3way
check mirror $vg 3way core
@ -60,8 +60,8 @@ vgreduce --removemissing $vg
aux enable_dev "$dev4"
# 3-way, mirrored log => 3-way, core log
recreate_vg_
lvcreate -m 2 --mirrorlog mirrored --ig -L 1 -n 3way $vg \
recreate_vg_ -c n
lvcreate -aey -m 2 --mirrorlog mirrored --ig -L 1 -n 3way $vg \
"$dev1" "$dev2" "$dev3" "$dev4":0 "$dev5":0
aux disable_dev "$dev4" "$dev5"
echo n | lvconvert --repair $vg/3way
@ -74,7 +74,7 @@ aux enable_dev "$dev4" "$dev5"
# 2-way, disk log => 2-way, core log
recreate_vg_
lvcreate -m 1 --ig -L 1 -n 2way $vg "$dev1" "$dev2" "$dev3":0
lvcreate -aey -m 1 --ig -L 1 -n 2way $vg "$dev1" "$dev2" "$dev3":0
aux disable_dev "$dev3"
echo n | lvconvert --repair $vg/2way
check mirror $vg 2way core
@ -88,11 +88,11 @@ aux enable_dev "$dev3"
recreate_vg_
vgreduce $vg "$dev4"
lvcreate -m 1 --ig -L 1 -n mirror $vg
lvcreate -aey -m 1 --ig -L 1 -n mirror $vg
lvchange -a n $vg/mirror
vgextend $vg "$dev4"
aux disable_dev "$dev1"
lvchange --partial -a y $vg/mirror
lvchange --partial -aey $vg/mirror
not vgreduce -v --removemissing $vg
lvconvert -y --repair $vg/mirror

View File

@ -13,6 +13,7 @@
. lib/test
test -e LOCAL_CLVMD && skip
aux target_at_least dm-raid 1 1 0 || skip
aux prepare_vg 5
@ -29,7 +30,7 @@ lvcreate -s -l 20%FREE -n $lv5 $vg --virtualsize 256T
aux lvmconf 'devices/filter = [ "a/dev\/mapper\/.*$/", "a/dev\/LVMTEST/", "r/.*/" ]'
pvcreate $DM_DEV_DIR/$vg/$lv[12345]
vgcreate -c n $vg1 $DM_DEV_DIR/$vg/$lv[12345]
vgcreate $vg1 $DM_DEV_DIR/$vg/$lv[12345]
# bz837927 START

View File

@ -13,6 +13,7 @@
. lib/test
test -e LOCAL_CLVMD && skip
aux target_at_least dm-raid 1 3 0 || skip
aux prepare_vg 5
@ -26,7 +27,7 @@ lvcreate -s -l 20%FREE -n $lv5 $vg --virtualsize 256T
aux lvmconf 'devices/filter = [ "a/dev\/mapper\/.*$/", "a/dev\/LVMTEST/", "r/.*/" ]'
pvcreate $DM_DEV_DIR/$vg/$lv[12345]
vgcreate -c n $vg1 $DM_DEV_DIR/$vg/$lv[12345]
vgcreate $vg1 $DM_DEV_DIR/$vg/$lv[12345]
#
# Create large RAID LVs

View File

@ -21,15 +21,18 @@ cleanup_lvs() {
aux prepare_pvs 2
aux pvcreate --metadatacopies 0 "$dev1"
aux vgcreate -c n $vg $(cat DEVICES)
aux vgcreate $vg $(cat DEVICES)
# ---
# Create snapshots of LVs on --metadatacopies 0 PV (bz450651)
lvcreate -n$lv1 -l4 $vg "$dev1"
lvcreate -aey -n$lv1 -l4 $vg "$dev1"
lvcreate -n$lv2 -l4 -s $vg/$lv1
lvcreate -n$lv3 -l4 --permission r -s $vg/$lv1
cleanup_lvs
# Skip the rest for cluster
test -e LOCAL_CLVMD && exit 0
# ---
# Create mirror on two devices with mirrored log using --alloc anywhere
lvcreate -m 1 -l4 -n $lv1 --mirrorlog mirrored $vg --alloc anywhere "$dev1" "$dev2"

View File

@ -18,7 +18,7 @@ aux lvmconf 'allocation/mirror_logs_require_separate_pvs = 1'
# not required, just testing
aux pvcreate --metadatacopies 0 "$dev1"
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
pvchange --addtag fast $(cat DEVICES)
# 3 stripes with 3 PVs (selected by tag, @fast) is fine
@ -31,18 +31,18 @@ not lvcreate -l4 -i4 $vg @fast
not lvcreate -l2 -i2 $vg $DM_DEV_DIR/mapper/pv1
# lvcreate mirror
lvcreate -l1 -m1 $vg @fast
lvcreate -aey -l1 -m1 $vg @fast
# lvcreate mirror w/corelog
lvcreate -l1 -m2 --corelog $vg @fast
lvcreate -aey -l1 -m2 --corelog $vg @fast
# lvcreate mirror w/no free PVs
not lvcreate -l1 -m2 $vg @fast
not lvcreate -aey -l1 -m2 $vg @fast
# lvcreate mirror (corelog, w/no free PVs)
not lvcreate -l1 -m3 --corelog $vg @fast
not lvcreate -aey -l1 -m3 --corelog $vg @fast
# lvcreate mirror with a single PV arg
not lvcreate -l1 -m1 --corelog $vg "$dev1"
not lvcreate -aey -l1 -m1 --corelog $vg "$dev1"
vgremove -ff $vg

View File

@ -11,13 +11,15 @@
. lib/test
test -e LOCAL_CLVMD && skip
########################################################
# MAIN
########################################################
aux target_at_least dm-raid 1 1 0 || skip
aux prepare_pvs 6 20 # 6 devices for RAID10 (2-mirror,3-stripe) test
vgcreate -c n -s 512k $vg $(cat DEVICES)
vgcreate -s 512k $vg $(cat DEVICES)
###########################################
# Create, wait for sync, remove tests

View File

@ -11,13 +11,15 @@
. lib/test
test -e LOCAL_CLVMD && skip
########################################################
# MAIN
########################################################
aux target_at_least dm-raid 1 3 0 || skip
aux prepare_pvs 6 20 # 6 devices for RAID10 (2-mirror,3-stripe) test
vgcreate -c n -s 512k $vg $(cat DEVICES)
vgcreate -s 512k $vg $(cat DEVICES)
#
# Create RAID10:

View File

@ -19,7 +19,7 @@ for mdacp in 1 2; do
pvcreate --metadatacopies $mdacp "$dev1" "$dev2"
pvcreate --metadatacopies 0 "$dev3"
if [ $pv_in_vg = 1 ]; then
vgcreate -c n $vg "$dev1" "$dev2" "$dev3"
vgcreate $vg "$dev1" "$dev2" "$dev3"
fi
pvchange --metadataignore y "$dev1"
check pv_field "$dev1" pv_mda_count $mdacp
@ -68,7 +68,7 @@ for mdacp in 1 2; do
check pv_field "$dev4" pv_mda_used_count $mdacp
check pv_field "$dev5" pv_mda_used_count $mdacp
pvcreate --metadatacopies 0 "$dev3"
vgcreate -c n $vg "$dev1" "$dev2" "$dev3"
vgcreate $vg "$dev1" "$dev2" "$dev3"
check vg_field $vg vg_mda_copies unmanaged
echo ensure both --vgmetadatacopies and --metadatacopies accepted
vgchange --metadatacopies $(($mdacp * 1)) $vg
@ -91,22 +91,22 @@ for mdacp in 1 2; do
pvchange --metadataignore y "$dev1" "$dev2"
check pv_field "$dev1" pv_mda_count $mdacp
check pv_field "$dev2" pv_mda_used_count 0
vgcreate -c n $vg "$dev1" "$dev2"
vgcreate $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_copies unmanaged
vgremove -f $vg
echo vgcreate succeeds with a specific number of metadata copies
vgcreate -c n --vgmetadatacopies $(($mdacp * 2)) $vg "$dev1" "$dev2"
vgcreate --vgmetadatacopies $(($mdacp * 2)) $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_copies $(($mdacp * 2))
vgremove -f $vg
vgcreate -c n --vgmetadatacopies $(($mdacp * 1)) $vg "$dev1" "$dev2"
vgcreate --vgmetadatacopies $(($mdacp * 1)) $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_copies $(($mdacp * 1))
vgremove -f $vg
echo vgcreate succeeds with a larger value than total metadatacopies
vgcreate -c n --vgmetadatacopies $(($mdacp * 5)) $vg "$dev1" "$dev2"
vgcreate --vgmetadatacopies $(($mdacp * 5)) $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_copies $(($mdacp * 5))
vgremove -f $vg
echo vgcreate succeeds with --vgmetadatacopies unmanaged
vgcreate -c n --vgmetadatacopies unmanaged $vg "$dev1" "$dev2"
vgcreate --vgmetadatacopies unmanaged $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_copies unmanaged
vgremove -f $vg
pvunignore_ "$dev1"
@ -114,7 +114,7 @@ for mdacp in 1 2; do
pvunignore_ "$dev4"
pvunignore_ "$dev5"
echo vgcreate succeds with small value of --metadatacopies, ignores mdas
vgcreate -c n --vgmetadatacopies 1 $vg "$dev1" "$dev2" "$dev4" "$dev5"
vgcreate --vgmetadatacopies 1 $vg "$dev1" "$dev2" "$dev4" "$dev5"
check vg_field $vg vg_mda_copies 1
check vg_field $vg vg_mda_count $(($mdacp * 4))
check vg_field $vg vg_mda_used_count 1
@ -131,7 +131,7 @@ for mdacp in 1 2; do
vgchange --vgmetadatacopies 0 $vg
check vg_field $vg vg_mda_copies unmanaged
vgremove -f $vg
vgcreate -c n --vgmetadatacopies 0 $vg "$dev1" "$dev2" "$dev4" "$dev5"
vgcreate --vgmetadatacopies 0 $vg "$dev1" "$dev2" "$dev4" "$dev5"
check vg_field $vg vg_mda_copies unmanaged
vgremove -f $vg
done
@ -141,7 +141,7 @@ for mdacp in 1 2; do
pvcreate --metadatacopies $mdacp "$dev1" "$dev2" "$dev4" "$dev5"
pvcreate --metadatacopies 0 "$dev3"
echo Set a large value of vgmetadatacopies
vgcreate -c n --vgmetadatacopies $(($mdacp * 5)) $vg "$dev1" "$dev2" "$dev3"
vgcreate --vgmetadatacopies $(($mdacp * 5)) $vg "$dev1" "$dev2" "$dev3"
check vg_field $vg vg_mda_copies $(($mdacp * 5))
echo Ignore mdas on devices to be used for vgextend
echo Large value of vgetadatacopies should automatically un-ignore mdas
@ -152,7 +152,7 @@ for mdacp in 1 2; do
check pv_field "$dev5" pv_mda_used_count $mdacp
vgremove -f $vg
echo Set a small value of vgmetadatacopies
vgcreate -c n --vgmetadatacopies $(($mdacp * 1)) $vg "$dev1" "$dev2" "$dev3"
vgcreate --vgmetadatacopies $(($mdacp * 1)) $vg "$dev1" "$dev2" "$dev3"
check vg_field $vg vg_mda_copies $(($mdacp * 1))
echo Ignore mdas on devices to be used for vgextend
echo Small value of vgetadatacopies should leave mdas as ignored
@ -185,8 +185,8 @@ done
echo Test special situations, vgsplit, vgmerge, etc
for mdacp in 1 2; do
pvcreate --metadatacopies $mdacp "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
vgcreate -c n --vgmetadatacopies 2 $vg1 "$dev1" "$dev2" "$dev3"
vgcreate -c n --vgmetadatacopies $(($mdacp * 1)) $vg2 "$dev4" "$dev5"
vgcreate --vgmetadatacopies 2 $vg1 "$dev1" "$dev2" "$dev3"
vgcreate --vgmetadatacopies $(($mdacp * 1)) $vg2 "$dev4" "$dev5"
echo vgsplit/vgmerge preserves value of metadata copies
check vg_field $vg1 vg_mda_copies 2
check vg_field $vg2 vg_mda_copies $(($mdacp * 1))
@ -206,7 +206,7 @@ done
echo Test combination of --vgmetadatacopies and pvchange --metadataignore
for mdacp in 1 2; do
pvcreate --metadatacopies $mdacp "$dev1" "$dev2" "$dev3" "$dev4" "$dev5"
vgcreate -c n --vgmetadatacopies $(($mdacp * 1)) $vg1 "$dev1" "$dev2"
vgcreate --vgmetadatacopies $(($mdacp * 1)) $vg1 "$dev1" "$dev2"
check vg_field $vg1 vg_mda_copies $(($mdacp * 1))
check vg_field $vg1 vg_mda_used_count $(($mdacp * 1))
pvignore_ "$dev3"

View File

@ -19,7 +19,7 @@ pvcreate --metadatacopies 0 "$dev3"
pvcreate "$dev4"
pvcreate --metadatacopies 0 "$dev5"
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
lvcreate -n $lv -l 1 -i5 -I256 $vg
pvchange -x n "$dev1"
@ -33,11 +33,11 @@ vgremove -f $vg
for mdacp in 1 0; do
pvcreate --metadatacopies $mdacp $(cat DEVICES)
pvcreate "$dev1"
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
lvcreate -n $lv1 -l 2 -i5 -I256 $vg
lvcreate -n $lv2 -m2 -l 2 $vg
lvcreate -aey -n $lv2 -m2 -l 2 $vg
lvchange -an $vg/$lv1 $vg/$lv2
vgchange -ay $vg
vgchange -aey $vg
lvchange -an $vg/$lv1 $vg/$lv2
vgremove -f $vg
done
@ -46,7 +46,7 @@ not grep "Cached VG .* incorrect PV list" out0
# some M1 metadata tests
pvcreate -M1 "$dev1" "$dev2" "$dev3"
pv3_uuid=$(get pv_field "$dev3" pv_uuid)
vgcreate -M1 -c n $vg "$dev1" "$dev2" "$dev3"
vgcreate -M1 $vg "$dev1" "$dev2" "$dev3"
pvchange --uuid "$dev1"
# verify pe_start of all M1 PVs

View File

@ -15,21 +15,21 @@
aux prepare_devs 4
pvcreate "$dev1" "$dev2"
pvcreate --metadatacopies 0 "$dev3" "$dev4"
vgcreate -c n $vg "$dev1" "$dev2" "$dev3" "$dev4"
vgcreate $vg "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l1 -n linear1 $vg "$dev1"
lvcreate -l1 -n linear2 $vg "$dev2"
lvcreate -l2 -n linear12 $vg "$dev1":4 "$dev2":4
lvcreate -l1 -n origin1 $vg "$dev1"
lvcreate -aey -l1 -n origin1 $vg "$dev1"
lvcreate -s $vg/origin1 -l1 -n s_napshot2 "$dev2"
lvcreate -l1 -m1 -n mirror12 --mirrorlog core $vg "$dev1" "$dev2"
lvcreate -l1 -m1 -n mirror123 $vg "$dev1" "$dev2" "$dev3"
lvcreate -aey -l1 -m1 -n mirror12 --mirrorlog core $vg "$dev1" "$dev2"
lvcreate -aey -l1 -m1 -n mirror123 $vg "$dev1" "$dev2" "$dev3"
vgchange -a n $vg
aux disable_dev "$dev1"
not vgchange -a y $vg
not vgchange -aey $vg
not vgck $vg
check inactive $vg linear1
@ -43,7 +43,7 @@ check inactive $vg mirror123
vgchange -a n $vg
aux enable_dev "$dev1"
aux disable_dev "$dev2"
not vgchange -a y $vg
not vgchange -aey $vg
not vgck $vg
check active $vg linear1
@ -57,7 +57,7 @@ check inactive $vg mirror123
vgchange -a n $vg
aux enable_dev "$dev2"
aux disable_dev "$dev3"
not vgchange -a y $vg
not vgchange -aey $vg
not vgck $vg
check active $vg origin1
@ -71,7 +71,7 @@ check active $vg mirror12
vgchange -a n $vg
aux enable_dev "$dev3"
aux disable_dev "$dev4"
vgchange -a y $vg
vgchange -aey $vg
not vgck $vg
check active $vg origin1

View File

@ -15,7 +15,7 @@
aux prepare_devs 3
vgcreate -c n --metadatasize 128k $vg1 "$dev1"
vgcreate --metadatasize 128k $vg1 "$dev1"
# copy mda
dd if="$dev1" of="$dev2" bs=256K count=1

View File

@ -24,9 +24,7 @@ pvcreate "$dev1"
pvcreate --metadatacopies 0 "$dev2"
# "check lv snapshot"
vgcreate -c n $vg "$dev1" "$dev2"
lvcreate -n $lv -l 60%FREE $vg
vgcreate $vg "$dev1" "$dev2"
lvcreate -aey -n $lv -l 60%FREE $vg
lvcreate -s -n $lv2 -l 10%FREE $vg/$lv
pvdisplay
lvdisplay
vgremove -f $vg

View File

@ -173,7 +173,7 @@ for ignore in y n; do
fi
echo "vgcreate has proper vg_mda_count and vg_mda_used_count"
if [ $pv_in_vg = 1 ]; then
vgcreate -c n $vg "$dev1" "$dev2"
vgcreate $vg "$dev1" "$dev2"
check vg_field $vg vg_mda_count "$(($mdacp * 2))"
if [ $ignore = y ]; then
check vg_field $vg vg_mda_used_count "1"

View File

@ -23,7 +23,7 @@ pvs | not grep "$dev2"
pvcreate --metadatacopies 0 "$dev2"
# check pvremove refuses to remove pv in a vg
vgcreate -c n $vg "$dev1" "$dev2"
vgcreate $vg "$dev1" "$dev2"
not pvremove "$dev2" "$dev3"
for mdacp in 0 1 2; do

View File

@ -14,15 +14,15 @@
aux prepare_pvs 4
# vgcreate with --addtag
vgcreate -c n --addtag firstvg $vg1 "$dev1" "$dev2"
vgcreate -c n --addtag secondvg $vg2 "$dev3" "$dev4"
vgcreate --addtag firstvg $vg1 "$dev1" "$dev2"
vgcreate --addtag secondvg $vg2 "$dev3" "$dev4"
check vg_field $vg1 tags "firstvg"
check vg_field $vg2 tags "secondvg"
vgremove -f $vg1 $vg2
# vgchange with --addtag and --deltag
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate -c n $vg2 "$dev3" "$dev4"
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
vgchange --addtag firstvgtag1 $vg1
# adding a tag multiple times is not an error
vgchange --addtag firstvgtag2 $vg1
@ -41,7 +41,7 @@ vgchange --deltag firstvgtag1 $vg2
vgremove -f $vg1 $vg2
# lvcreate with --addtag
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate $vg1 "$dev1" "$dev2"
lvcreate --addtag firstlvtag1 -l 4 -n $lv1 $vg1
lvcreate --addtag secondlvtag1 -l 4 -n $lv2 $vg1
check lv_field @firstlvtag1 tags "firstlvtag1"
@ -51,7 +51,7 @@ not check lv_field $vg1/$lv1 tags "secondlvtag1"
vgremove -f $vg1
# lvchange with --addtag and --deltag
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate $vg1 "$dev1" "$dev2"
lvcreate -l 4 -n $lv1 $vg1
lvcreate -l 4 -n $lv2 $vg1
lvchange --addtag firstlvtag1 $vg1/$lv1

View File

@ -38,11 +38,11 @@ lvdev_() {
}
test_snapshot_mount() {
lvcreate -L 16M -n $lv1 $vg "$dev1"
lvcreate -aey -L4M -n $lv1 $vg "$dev1"
mkfs.ext3 $(lvdev_ $vg $lv1)
mkdir test_mnt
mount "$(lvdev_ $vg $lv1)" test_mnt
lvcreate -L 16M -n $lv2 -s $vg/$lv1
lvcreate -L4M -n $lv2 -s $vg/$lv1
umount test_mnt
# mount the origin
mount "$(lvdev_ $vg $lv1)" test_mnt
@ -52,7 +52,6 @@ test_snapshot_mount() {
umount test_mnt
rm -r test_mnt
vgchange -an $vg
lvremove -f $vg/$lv2
lvremove -f $vg/$lv1
}
@ -80,7 +79,7 @@ aux prepare_scsi_debug_dev $DEV_SIZE \
check_logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
test_snapshot_mount
vgremove $vg
@ -95,7 +94,7 @@ aux prepare_scsi_debug_dev $DEV_SIZE \
check_logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
test_snapshot_mount
vgremove $vg
@ -110,7 +109,7 @@ aux prepare_scsi_debug_dev $DEV_SIZE \
check_logical_block_size $LOGICAL_BLOCK_SIZE
aux prepare_pvs $NUM_DEVS $PER_DEV_SIZE
vgcreate -c n $vg $(cat DEVICES)
vgcreate $vg $(cat DEVICES)
test_snapshot_mount
vgremove $vg

View File

@ -14,14 +14,14 @@
aux prepare_dmeventd
aux prepare_pvs 3
vgcreate -c n -l 2 $vg $(cat DEVICES)
lvcreate -n one -l 1 $vg
vgcreate -l 2 $vg $(cat DEVICES)
lvcreate -aey -n one -l 1 $vg
lvcreate -n two -l 1 $vg
not lvcreate -n three -l 1 $vg
vgremove -ff $vg
vgcreate -c n -l 3 $vg $(cat DEVICES)
lvcreate -n one -l 1 $vg
vgcreate -l 3 $vg $(cat DEVICES)
lvcreate -aey -n one -l 1 $vg
lvcreate -n snap -s -l 1 $vg/one
lvcreate -n two -l 1 $vg
not lvcreate -n three -l 1 $vg

View File

@ -11,10 +11,11 @@
. lib/test
test -e LOCAL_CLVMD && skip
which mkfs.ext3 || skip
aux prepare_pvs 2 8
test -e LOCAL_CLVMD && skip
var_lock="$DM_DEV_DIR/$vg1/$lv1"
# keep in sync with aux configured lockingdir
@ -26,8 +27,8 @@ cleanup_mounted_and_teardown()
aux teardown
}
vgcreate -c n $vg1 "$dev1"
vgcreate -c n $vg2 "$dev2"
vgcreate $vg1 "$dev1"
vgcreate $vg2 "$dev2"
lvcreate -l 1 -n $lv2 $vg2
vgchange -an $vg2

View File

@ -20,7 +20,7 @@ pvcreate --metadatacopies 0 "$dev3"
vg=${PREFIX}vg
#COMM 'vgcreate accepts 8.00m physicalextentsize for VG'
vgcreate -c n $vg --physicalextentsize 8.00m "$dev1" "$dev2"
vgcreate $vg --physicalextentsize 8.00m "$dev1" "$dev2"
check vg_field $vg vg_extent_size 8.00m
vgremove $vg
# try vgck and to remove it again - should fail (but not segfault)
@ -28,31 +28,31 @@ not vgremove $vg
not vgck $vg
#COMM 'vgcreate accepts smaller (128) maxlogicalvolumes for VG'
vgcreate -c n $vg --maxlogicalvolumes 128 "$dev1" "$dev2"
vgcreate $vg --maxlogicalvolumes 128 "$dev1" "$dev2"
check vg_field $vg max_lv 128
vgremove $vg
#COMM 'vgcreate accepts smaller (128) maxphysicalvolumes for VG'
vgcreate -c n $vg --maxphysicalvolumes 128 "$dev1" "$dev2"
vgcreate $vg --maxphysicalvolumes 128 "$dev1" "$dev2"
check vg_field $vg max_pv 128
vgremove $vg
#COMM 'vgcreate rejects a zero physical extent size'
not vgcreate -c n --physicalextentsize 0 $vg "$dev1" "$dev2" 2>err
not vgcreate --physicalextentsize 0 $vg "$dev1" "$dev2" 2>err
grep "Physical extent size may not be zero" err
#COMM 'vgcreate rejects "inherit" allocation policy'
not vgcreate -c n --alloc inherit $vg "$dev1" "$dev2" 2>err
not vgcreate --alloc inherit $vg "$dev1" "$dev2" 2>err
grep "Volume Group allocation policy cannot inherit from anything" err
#COMM 'vgcreate rejects vgname "."'
vginvalid=.;
not vgcreate -c n $vginvalid "$dev1" "$dev2" 2>err
not vgcreate $vginvalid "$dev1" "$dev2" 2>err
grep "New volume group name \"$vginvalid\" is invalid" err
#COMM 'vgcreate rejects vgname greater than 128 characters'
vginvalid=thisnameisridiculouslylongtotestvalidationcodecheckingmaximumsizethisiswhathappenswhenprogrammersgetboredandorarenotcreativedonttrythisathome
not vgcreate -c n $vginvalid "$dev1" "$dev2" 2>err
not vgcreate $vginvalid "$dev1" "$dev2" 2>err
grep "New volume group name \"$vginvalid\" is invalid" err
#COMM 'vgcreate rejects already existing vgname "/tmp/$vg"'
@ -61,47 +61,49 @@ grep "New volume group name \"$vginvalid\" is invalid" err
#grep "New volume group name \"$vg\" is invalid\$" err
#COMM "vgcreate rejects repeated invocation (run 2 times) (bz178216)"
vgcreate -c n $vg "$dev1" "$dev2"
not vgcreate -c n $vg "$dev1" "$dev2"
vgcreate $vg "$dev1" "$dev2"
not vgcreate $vg "$dev1" "$dev2"
vgremove -ff $vg
#COMM 'vgcreate rejects MaxLogicalVolumes > 255'
not vgcreate -c n --metadatatype 1 --maxlogicalvolumes 1024 $vg "$dev1" "$dev2" 2>err
not vgcreate --metadatatype 1 --maxlogicalvolumes 1024 $vg "$dev1" "$dev2" 2>err
grep "Number of volumes may not exceed 255" err
#COMM "vgcreate fails when the only pv has --metadatacopies 0"
not vgcreate -c n $vg "$dev3"
not vgcreate $vg "$dev3"
# Test default (4MB) vg_extent_size as well as limits of extent_size
not vgcreate -c n --physicalextentsize 0k $vg "$dev1" "$dev2"
vgcreate -c n --physicalextentsize 1k $vg "$dev1" "$dev2"
not vgcreate --physicalextentsize 0k $vg "$dev1" "$dev2"
vgcreate --physicalextentsize 1k $vg "$dev1" "$dev2"
check vg_field $vg vg_extent_size 1.00k
vgremove -ff $vg
not vgcreate -c n --physicalextentsize 3K $vg "$dev1" "$dev2"
not vgcreate -c n --physicalextentsize 1024t $vg "$dev1" "$dev2"
not vgcreate --physicalextentsize 3K $vg "$dev1" "$dev2"
not vgcreate --physicalextentsize 1024t $vg "$dev1" "$dev2"
#not vgcreate --physicalextentsize 1T $vg "$dev1" "$dev2"
# FIXME: vgcreate allows physicalextentsize larger than pv size!
# Test default max_lv, max_pv, extent_size, alloc_policy, clustered
vgcreate -c n $vg "$dev1" "$dev2"
vgcreate $vg "$dev1" "$dev2"
check vg_field $vg vg_extent_size 4.00m
check vg_field $vg max_lv 0
check vg_field $vg max_pv 0
check vg_field $vg vg_attr "wz--n-"
ATTRS="wz--n-"
test -e LOCAL_CLVMD && ATTRS="wz--nc"
check vg_field $vg vg_attr $ATTRS
vgremove -ff $vg
# Implicit pvcreate tests, test pvcreate options on vgcreate
# --force, --yes, --metadata{size|copies|type}, --zero
# --dataalignment[offset]
pvremove "$dev1" "$dev2"
vgcreate -c n --force --yes --zero y $vg "$dev1" "$dev2"
vgcreate --force --yes --zero y $vg "$dev1" "$dev2"
vgremove -f $vg
pvremove -f "$dev1"
for i in 0 1 2 3
do
# vgcreate (lvm2) succeeds writing LVM label at sector $i
vgcreate -c n --labelsector $i $vg "$dev1"
vgcreate --labelsector $i $vg "$dev1"
dd if="$dev1" bs=512 skip=$i count=1 2>/dev/null | strings | grep LABELONE >/dev/null
vgremove -f $vg
pvremove -f "$dev1"
@ -110,14 +112,14 @@ done
# pvmetadatacopies
for i in 1 2
do
vgcreate -c n --pvmetadatacopies $i $vg "$dev1"
vgcreate --pvmetadatacopies $i $vg "$dev1"
check pv_field "$dev1" pv_mda_count $i
vgremove -f $vg
pvremove -f "$dev1"
done
not vgcreate -c n --pvmetadatacopies 0 $vg "$dev1"
not vgcreate --pvmetadatacopies 0 $vg "$dev1"
pvcreate --metadatacopies 1 "$dev2"
vgcreate -c n --pvmetadatacopies 0 $vg "$dev1" "$dev2"
vgcreate --pvmetadatacopies 0 $vg "$dev1" "$dev2"
check pv_field "$dev1" pv_mda_count 0
check pv_field "$dev2" pv_mda_count 1
vgremove -f $vg
@ -125,7 +127,7 @@ pvremove -f "$dev1"
# metadatasize, dataalignment, dataalignmentoffset
#COMM 'pvcreate sets data offset next to mda area'
vgcreate -c n --metadatasize 100k --dataalignment 100k $vg "$dev1"
vgcreate --metadatasize 100k --dataalignment 100k $vg "$dev1"
check pv_field "$dev1" pe_start 200.00k
vgremove -f $vg
pvremove -f "$dev1"
@ -133,7 +135,7 @@ pvremove -f "$dev1"
# data area is aligned to 1M by default,
# data area start is shifted by the specified alignment_offset
pv_align=1052160 # 1048576 + (7*512)
vgcreate -c n --metadatasize 128k --dataalignmentoffset 7s $vg "$dev1"
vgcreate --metadatasize 128k --dataalignmentoffset 7s $vg "$dev1"
check pv_field "$dev1" pe_start ${pv_align}B --units b
vgremove -f $vg
pvremove -f "$dev1"
@ -141,23 +143,22 @@ pvremove -f "$dev1"
# metadatatype
for i in 1 2
do
vgcreate -c n -M $i $vg "$dev1"
vgcreate -M $i $vg "$dev1"
check vg_field $vg vg_fmt lvm$i
vgremove -f $vg
pvremove -f "$dev1"
done
# vgcreate fails if pv belongs to existing vg
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate $vg1 "$dev1" "$dev2"
not vgcreate $vg2 "$dev2"
vgremove -f $vg1
pvremove -f "$dev1" "$dev2"
# all PVs exist in the VG after created
pvcreate "$dev1"
vgcreate -c n $vg1 "$dev1" "$dev2" "$dev3"
vgcreate $vg1 "$dev1" "$dev2" "$dev3"
check pv_field "$dev1" vg_name $vg1
check pv_field "$dev2" vg_name $vg1
check pv_field "$dev3" vg_name $vg1
vgremove -f $vg1
pvremove -f "$dev1" "$dev2" "$dev3"

View File

@ -13,7 +13,7 @@
aux prepare_devs 2
vgcreate -c n --metadatasize 128k $vg1 "$dev1"
vgcreate --metadatasize 128k $vg1 "$dev1"
lvcreate -l100%FREE -n $lv1 $vg1
# Clone the LUN

View File

@ -16,8 +16,8 @@ test_description='Test vgmerge operation'
aux prepare_pvs 4 64
# 'vgmerge succeeds with single linear LV in source VG'
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate -c n $vg2 "$dev3" "$dev4"
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
lvcreate -l 4 -n $lv1 $vg1 "$dev1"
vgchange -an $vg1
check pvlv_counts $vg1 2 1 0
@ -27,8 +27,8 @@ check pvlv_counts $vg2 4 1 0
vgremove -f $vg2
# 'vgmerge succeeds with single linear LV in source and destination VG'
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate -c n $vg2 "$dev3" "$dev4"
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
lvcreate -l 4 -n $lv1 $vg1
lvcreate -l 4 -n $lv2 $vg2
vgchange -an $vg1
@ -40,9 +40,9 @@ check pvlv_counts $vg2 4 2 0
vgremove -f $vg2
# 'vgmerge succeeds with linear LV + snapshots in source VG'
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate -c n $vg2 "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 $vg1
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
lvcreate -aey -l 16 -n $lv1 $vg1
lvcreate -l 4 -s -n $lv2 $vg1/$lv1
vgchange -an $vg1
check pvlv_counts $vg1 2 2 1
@ -53,9 +53,9 @@ lvremove -f $vg2/$lv2
vgremove -f $vg2
# 'vgmerge succeeds with mirrored LV in source VG'
vgcreate -c n $vg1 "$dev1" "$dev2" "$dev3"
vgcreate -c n $vg2 "$dev4"
lvcreate -l 4 -n $lv1 -m1 $vg1
vgcreate $vg1 "$dev1" "$dev2" "$dev3"
vgcreate $vg2 "$dev4"
lvcreate -aey -l 4 -n $lv1 -m1 $vg1
vgchange -an $vg1
check pvlv_counts $vg1 3 1 0
check pvlv_counts $vg2 1 0 0
@ -65,8 +65,8 @@ lvremove -f $vg2/$lv1
vgremove -f $vg2
# 'vgmerge rejects LV name collision'
vgcreate -c n $vg1 "$dev1" "$dev2"
vgcreate -c n $vg2 "$dev3" "$dev4"
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
lvcreate -l 4 -n $lv1 $vg1
lvcreate -l 4 -n $lv1 $vg2
vgchange -an $vg1

View File

@ -21,8 +21,8 @@ vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
vgmerge $vg1 $vg2
vgremove $vg1
vgcreate -c n $vg2 "$dev1" "$dev2"
vgcreate -c n $vg1 "$dev3" "$dev4"
vgcreate $vg2 "$dev1" "$dev2"
vgcreate $vg1 "$dev3" "$dev4"
vgmerge $vg2 $vg1
vgremove $vg2

View File

@ -19,18 +19,18 @@ do
pvcreate -M$mdatype "$dev1" "$dev2"
# (lvm$mdatype) vgreduce removes only the specified pv from vg (bz427382)" '
vgcreate -c n -M$mdatype $vg1 "$dev1" "$dev2"
vgcreate -M$mdatype $vg1 "$dev1" "$dev2"
vgreduce $vg1 "$dev1"
check pv_field "$dev2" vg_name $vg1
vgremove -f $vg1
# (lvm$mdatype) vgreduce rejects removing the last pv (--all)
vgcreate -c n -M$mdatype $vg1 "$dev1" "$dev2"
vgcreate -M$mdatype $vg1 "$dev1" "$dev2"
not vgreduce --all $vg1
vgremove -f $vg1
# (lvm$mdatype) vgreduce rejects removing the last pv
vgcreate -c n -M$mdatype $vg1 "$dev1" "$dev2"
vgcreate -M$mdatype $vg1 "$dev1" "$dev2"
not vgreduce $vg1 "$dev1" "$dev2"
vgremove -f $vg1
@ -44,14 +44,14 @@ pvcreate -M$mdatype "$dev1" "$dev2"
pvcreate --metadatacopies 0 -M$mdatype "$dev3" "$dev4"
# (lvm$mdatype) vgreduce rejects removing pv with the last mda copy (bz247448)
vgcreate -c n -M$mdatype $vg1 "$dev1" "$dev3"
vgcreate -M$mdatype $vg1 "$dev1" "$dev3"
not vgreduce $vg1 "$dev1"
vgremove -f $vg1
#COMM "(lvm$mdatype) vgreduce --removemissing --force repares to linear (bz221921)"
# (lvm$mdatype) setup: create mirror & damage one pv
vgcreate -c n -M$mdatype $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -n $lv1 -m1 -l 4 $vg1
vgcreate -M$mdatype $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -n $lv1 -m1 -l 4 $vg1
lvcreate -n $lv2 -l 4 $vg1 "$dev2"
lvcreate -n $lv3 -l 4 $vg1 "$dev3"
vgchange -an $vg1
@ -68,9 +68,9 @@ not vgs $vg1 # just double-check it's really gone
#COMM "vgreduce rejects --removemissing --mirrorsonly --force when nonmirror lv lost too"
# (lvm$mdatype) setup: create mirror + linear lvs
vgcreate -c n -M$mdatype $vg1 $(cat DEVICES)
vgcreate -M$mdatype $vg1 $(cat DEVICES)
lvcreate -n $lv2 -l 4 $vg1
lvcreate -m1 -n $lv1 -l 4 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -m1 -n $lv1 -l 4 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -n $lv3 -l 4 $vg1 "$dev3"
pvs --segments -o +lv_name $(cat DEVICES) # for record only
# (lvm$mdatype) setup: damage one pv

View File

@ -18,7 +18,7 @@ COMM() {
}
create_vg_() {
vgcreate -c n -s 64k "$@"
vgcreate -s 64k "$@"
}
aux prepare_pvs 5 10
@ -79,7 +79,7 @@ COMM "vgsplit correctly splits mirror LV into $i VG ($j args)"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3"
test $i = existing && create_vg_ $vg2 "$dev4"
lvcreate -l 64 -m1 -n $lv1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -l 64 -m1 -n $lv1 $vg1 "$dev1" "$dev2" "$dev3"
vgchange -an $vg1
if [ $j = PV ]; then
vgsplit $vg1 $vg2 "$dev1" "$dev2" "$dev3"
@ -96,10 +96,10 @@ 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)"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
test $i = existing && create_vg_ $vg2 "$dev5"
create_vg_ -c n $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
test $i = existing && create_vg_ -c n $vg2 "$dev5"
lvcreate -l 64 --mirrorlog mirrored -m1 -n $lv1 $vg1 \
lvcreate -aey -l 64 --mirrorlog mirrored -m1 -n $lv1 $vg1 \
"$dev1" "$dev2" "$dev3" "$dev4"
vgchange -an $vg1
@ -121,7 +121,7 @@ COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)"
create_vg_ $vg1 "$dev1" "$dev2"
test $i = existing && create_vg_ $vg2 "$dev3" "$dev4"
lvcreate -l 64 -i 2 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -aey -l 64 -i 2 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1
vgchange -an $vg1
if [ $j = PV ]; then
@ -142,7 +142,7 @@ COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j a
create_vg_ $vg1 "$dev1" "$dev2"
test $i = existing && create_vg_ $vg2 "$dev3"
lvcreate -l 64 -i 2 -n $lv1 $vg1
lvcreate -aey -l 64 -i 2 -n $lv1 $vg1
lvcreate -l 4 -i 2 -s -n $lv2 $vg1/$lv1
vgextend $vg1 "$dev4"
lvcreate -l 64 -n $lv3 $vg1 "$dev4"
@ -167,7 +167,7 @@ COMM "vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3"
test $i = existing && create_vg_ $vg2 "$dev5"
lvcreate -l 64 -m1 -n $lv1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -l 64 -m1 -n $lv1 $vg1 "$dev1" "$dev2" "$dev3"
vgextend $vg1 "$dev4"
lvcreate -l 64 -n $lv2 $vg1 "$dev4"
vgchange -an $vg1
@ -203,7 +203,7 @@ vgremove -f $vg1
COMM "vgsplit fails splitting one LV with 2 snapshots, only origin LV specified"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -aey -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
@ -215,7 +215,7 @@ vgremove -f $vg1
COMM "vgsplit fails splitting one LV with 2 snapshots, only snapshot LV specified"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -aey -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
@ -227,7 +227,7 @@ vgremove -f $vg1
COMM "vgsplit fails splitting one mirror LV, only one PV specified"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
check pvlv_counts $vg1 4 1 0
vgchange -an $vg1
not vgsplit $vg1 $vg2 "$dev2"
@ -235,7 +235,7 @@ vgremove -ff $vg1
COMM "vgsplit fails splitting 1 mirror + 1 striped LV, only striped LV specified"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -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
vgchange -an $vg1
@ -247,7 +247,7 @@ vgremove -f $vg1
#
COMM "vgsplit fails, active mirror involved in split"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -l 16 -n $lv2 $vg1 "$dev4"
lvchange -an $vg1/$lv2
check pvlv_counts $vg1 4 2 0
@ -257,7 +257,7 @@ vgremove -f $vg1
COMM "vgsplit succeeds, active mirror not involved in split"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -aey -l 16 -n $lv1 -m1 $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -l 16 -n $lv2 $vg1 "$dev4"
lvchange -an $vg1/$lv2
check pvlv_counts $vg1 4 2 0
@ -268,7 +268,7 @@ vgremove -f $vg1 $vg2
COMM "vgsplit fails, active snapshot involved in split"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3" "$dev4"
lvcreate -l 64 -i 2 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -aey -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"
lvchange -an $vg1/$lv3
@ -280,7 +280,7 @@ vgremove -f $vg1
COMM "vgsplit succeeds, active snapshot not involved in split"
create_vg_ $vg1 "$dev1" "$dev2" "$dev3"
lvcreate -l 64 -i 2 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -aey -l 64 -i 2 -n $lv1 $vg1 "$dev1" "$dev2"
lvcreate -l 4 -s -n $lv2 $vg1/$lv1
vgextend $vg1 "$dev4"
lvcreate -l 64 -n $lv3 $vg1 "$dev4"