186d7f5d3SJohn Marino#!/bin/sh 286d7f5d3SJohn Marino# Copyright (C) 2007-2008 Red Hat, Inc. All rights reserved. 386d7f5d3SJohn Marino# 486d7f5d3SJohn Marino# This copyrighted material is made available to anyone wishing to use, 586d7f5d3SJohn Marino# modify, copy, or redistribute it subject to the terms and conditions 686d7f5d3SJohn Marino# of the GNU General Public License v.2. 786d7f5d3SJohn Marino# 886d7f5d3SJohn Marino# You should have received a copy of the GNU General Public License 986d7f5d3SJohn Marino# along with this program; if not, write to the Free Software Foundation, 1086d7f5d3SJohn Marino# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1186d7f5d3SJohn Marino 1286d7f5d3SJohn Marinotest_description='Test vgmerge operation' 1386d7f5d3SJohn Marino 1486d7f5d3SJohn Marino. ./test-utils.sh 1586d7f5d3SJohn Marino 1686d7f5d3SJohn Marinoaux prepare_pvs 4 64 1786d7f5d3SJohn Marino 1886d7f5d3SJohn Marino# 'vgmerge succeeds with single linear LV in source VG' 1986d7f5d3SJohn Marinovgcreate $vg1 $dev1 $dev2 2086d7f5d3SJohn Marinovgcreate $vg2 $dev3 $dev4 2186d7f5d3SJohn Marinolvcreate -l 4 -n $lv1 $vg1 $dev1 2286d7f5d3SJohn Marinovgchange -an $vg1 2386d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg1 2 1 0 2486d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 2 0 0 2586d7f5d3SJohn Marinovgmerge $vg2 $vg1 2686d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 4 1 0 2786d7f5d3SJohn Marinovgremove -f $vg2 2886d7f5d3SJohn Marino 2986d7f5d3SJohn Marino# 'vgmerge succeeds with single linear LV in source and destination VG' 3086d7f5d3SJohn Marinovgcreate $vg1 $dev1 $dev2 3186d7f5d3SJohn Marinovgcreate $vg2 $dev3 $dev4 3286d7f5d3SJohn Marinolvcreate -l 4 -n $lv1 $vg1 3386d7f5d3SJohn Marinolvcreate -l 4 -n $lv2 $vg2 3486d7f5d3SJohn Marinovgchange -an $vg1 3586d7f5d3SJohn Marinovgchange -an $vg2 3686d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg1 2 1 0 3786d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 2 1 0 3886d7f5d3SJohn Marinovgmerge $vg2 $vg1 3986d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 4 2 0 4086d7f5d3SJohn Marinovgremove -f $vg2 4186d7f5d3SJohn Marino 4286d7f5d3SJohn Marino# 'vgmerge succeeds with linear LV + snapshots in source VG' 4386d7f5d3SJohn Marinovgcreate $vg1 $dev1 $dev2 4486d7f5d3SJohn Marinovgcreate $vg2 $dev3 $dev4 4586d7f5d3SJohn Marinolvcreate -l 16 -n $lv1 $vg1 4686d7f5d3SJohn Marinolvcreate -l 4 -s -n $lv2 $vg1/$lv1 4786d7f5d3SJohn Marinovgchange -an $vg1 4886d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg1 2 2 1 4986d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 2 0 0 5086d7f5d3SJohn Marinovgmerge $vg2 $vg1 5186d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 4 2 1 5286d7f5d3SJohn Marinolvremove -f $vg2/$lv2 5386d7f5d3SJohn Marinovgremove -f $vg2 5486d7f5d3SJohn Marino 5586d7f5d3SJohn Marino# 'vgmerge succeeds with mirrored LV in source VG' 5686d7f5d3SJohn Marinovgcreate $vg1 $dev1 $dev2 $dev3 5786d7f5d3SJohn Marinovgcreate $vg2 $dev4 5886d7f5d3SJohn Marinolvcreate -l 4 -n $lv1 -m1 $vg1 5986d7f5d3SJohn Marinovgchange -an $vg1 6086d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg1 3 1 0 6186d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 1 0 0 6286d7f5d3SJohn Marinovgmerge $vg2 $vg1 6386d7f5d3SJohn Marinovg_validate_pvlv_counts_ $vg2 4 1 0 6486d7f5d3SJohn Marinolvremove -f $vg2/$lv1 6586d7f5d3SJohn Marinovgremove -f $vg2 6686d7f5d3SJohn Marino 6786d7f5d3SJohn Marino# 'vgmerge rejects LV name collision' 6886d7f5d3SJohn Marinovgcreate $vg1 $dev1 $dev2 6986d7f5d3SJohn Marinovgcreate $vg2 $dev3 $dev4 7086d7f5d3SJohn Marinolvcreate -l 4 -n $lv1 $vg1 7186d7f5d3SJohn Marinolvcreate -l 4 -n $lv1 $vg2 7286d7f5d3SJohn Marinovgchange -an $vg1 7386d7f5d3SJohn Marinoaux vg_validate_pvlv_counts_ $vg1 2 1 0 7486d7f5d3SJohn Marinoaux vg_validate_pvlv_counts_ $vg2 2 1 0 7586d7f5d3SJohn Marinonot vgmerge $vg2 $vg1 2>err 7686d7f5d3SJohn Marinogrep "Duplicate logical volume name \"$lv1\" in \"$vg2\" and \"$vg1" err 7786d7f5d3SJohn Marinoaux vg_validate_pvlv_counts_ $vg1 2 1 0 7886d7f5d3SJohn Marinoaux vg_validate_pvlv_counts_ $vg2 2 1 0 7986d7f5d3SJohn Marinovgremove -f $vg1 8086d7f5d3SJohn Marinovgremove -f $vg2 8186d7f5d3SJohn Marino 82