#!/bin/sh
# Copyright (C) 2008-2011 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
# of the GNU General Public License v.2.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

# 'Test vgmerge command options for validity'
SKIP_WITH_LVMLOCKD=1
SKIP_WITH_LVMPOLLD=1

. lib/inittest

aux prepare_pvs 4

# 'vgmerge normal operation'
# ensure ordering does not matter
vgcreate  $vg1 "$dev1" "$dev2"
vgcreate  $vg2 "$dev3" "$dev4"
vgmerge $vg1 $vg2
vgremove $vg1
vgcreate $vg2 "$dev1" "$dev2"
vgcreate $vg1 "$dev3" "$dev4"
vgmerge $vg2 $vg1
vgremove $vg2

# 'vgmerge rejects duplicate vg name'
vgcreate  $vg1 "$dev1" "$dev2"
vgcreate  $vg2 "$dev3" "$dev4"
not vgmerge $vg1 $vg1 2>err
grep "Duplicate volume group name \"$vg1\"\$" err
vgremove $vg1 $vg2

# 'vgmerge rejects vgs with incompatible extent_size'
vgcreate  --physicalextentsize 4M $vg1 "$dev1" "$dev2"
vgcreate  --physicalextentsize 8M $vg2 "$dev3" "$dev4"
not vgmerge $vg1 $vg2 2>err
grep "Extent sizes differ" err
vgremove $vg1 $vg2

# 'vgmerge rejects vgmerge because max_pv is exceeded'
vgcreate  --maxphysicalvolumes 2 $vg1 "$dev1" "$dev2"
vgcreate  --maxphysicalvolumes 2 $vg2 "$dev3" "$dev4"
not vgmerge $vg1 $vg2 2>err
grep "Maximum number of physical volumes (2) exceeded" err
vgremove $vg1 $vg2

# 'vgmerge rejects vg with active lv'
vgcreate $vg1 "$dev1" "$dev2"
vgcreate $vg2 "$dev3" "$dev4"
lvcreate -l 4 -n lv1 $vg2
not vgmerge $vg1 $vg2 2>err
grep "Logical volumes in \"$vg2\" must be inactive" err
vgremove -f $vg1 $vg2

# 'vgmerge rejects vgmerge because max_lv is exceeded'
vgcreate --maxlogicalvolumes 2 $vg1 "$dev1" "$dev2"
vgcreate --maxlogicalvolumes 2 $vg2 "$dev3" "$dev4"
lvcreate -l 4 -n lv1 $vg1
lvcreate -l 4 -n lv2 $vg1
lvcreate -l 4 -n lv3 $vg2
vgchange -an $vg1 $vg2
not vgmerge $vg1 $vg2 2>err
grep "Maximum number of logical volumes (2) exceeded" err
vgremove -f $vg1 $vg2
