1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-27 18:55:19 +03:00

Add vgsplit tests to verify mirror is not moved unnecessarily.

This commit is contained in:
Dave Wysochanski 2008-04-09 21:10:13 +00:00
parent eec663aa3b
commit d37beb92db

View File

@ -20,7 +20,8 @@ cleanup_()
test -n "$d2" && losetup -d "$d2"
test -n "$d3" && losetup -d "$d3"
test -n "$d4" && losetup -d "$d4"
rm -f "$f1" "$f2" "$f3" "$f4"
test -n "$d5" && losetup -d "$d5"
rm -f "$f1" "$f2" "$f3" "$f4" "$f5"
}
vg_validate_pvlv_counts_()
@ -44,12 +45,13 @@ test_expect_success \
f2=$(pwd)/2 && d2=$(loop_setup_ "$f2") &&
f3=$(pwd)/3 && d3=$(loop_setup_ "$f3") &&
f4=$(pwd)/4 && d4=$(loop_setup_ "$f4") &&
f5=$(pwd)/5 && d5=$(loop_setup_ "$f5") &&
vg1=$(this_test_)-test-vg1-$$ &&
vg2=$(this_test_)-test-vg2-$$ &&
lv1=$(this_test_)-test-lv1-$$ &&
lv2=$(this_test_)-test-lv2-$$ &&
lv3=$(this_test_)-test-lv3-$$ &&
pvcreate $d1 $d2 $d3 $d4'
pvcreate $d1 $d2 $d3 $d4 $d5'
#
# vgsplit can be done into a new or existing VG
@ -178,6 +180,33 @@ test_expect_success \
vgremove -f $vg1 &&
vgremove -f $vg2'
test_expect_success \
"vgsplit correctly splits linear LV but not mirror LV into $i VG ($j args)" \
'vgcreate $vg1 $d1 $d2 $d3 &&
if [ $i == existing ]; then
vgcreate $vg2 $d5
fi &&
lvcreate -l 64 -m1 -n $lv1 $vg1 $d1 $d2 $d3 &&
vgextend $vg1 $d4 &&
lvcreate -l 64 -n $lv2 $vg1 $d4 &&
vgchange -an $vg1 &&
if [ $j == PV ]; then
vgsplit $vg1 $vg2 $d4
else
vgsplit -n $lv2 $vg1 $vg2
fi &&
if [ $i == existing ]; then
vg_validate_pvlv_counts_ $vg1 3 4 0
vg_validate_pvlv_counts_ $vg2 2 1 0
else
vg_validate_pvlv_counts_ $vg1 3 4 0
vg_validate_pvlv_counts_ $vg2 1 1 0
fi &&
lvremove -f $vg1/$lv1 &&
lvremove -f $vg2/$lv2 &&
vgremove -f $vg1 &&
vgremove -f $vg2'
done
done