mirror of
git://sourceware.org/git/lvm2.git
synced 2025-02-25 21:57:45 +03:00
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.
This commit is contained in:
parent
3fb6ddf3ce
commit
e04c6e4972
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -89,7 +97,6 @@ check_and_cleanup_lvs_() {
|
||||
echo "ERROR: lvremove did leave some some mappings in DM behind!" && \
|
||||
return 1
|
||||
fi
|
||||
:
|
||||
}
|
||||
|
||||
#COMM "check environment setup/cleanup"
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
|
@ -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
|
||||
@ -142,10 +139,9 @@ COMM "vgsplit correctly splits origin and snapshot LV into $i VG ($j args)"
|
||||
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
|
||||
@ -164,23 +160,17 @@ COMM "vgsplit correctly splits linear LV but not snap+origin LV into $i VG ($j a
|
||||
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/$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/$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/$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
|
||||
|
Loading…
x
Reference in New Issue
Block a user