1#!/bin/sh 2# Copyright (C) 2008 Red Hat, Inc. All rights reserved. 3# 4# This copyrighted material is made available to anyone wishing to use, 5# modify, copy, or redistribute it subject to the terms and conditions 6# of the GNU General Public License v.2. 7# 8# You should have received a copy of the GNU General Public License 9# along with this program; if not, write to the Free Software Foundation, 10# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 11 12# 'Test vgmerge command options for validity' 13 14. ./test-utils.sh 15 16aux prepare_pvs 4 17 18# 'vgmerge normal operation' 19# ensure ordering does not matter 20vgcreate $vg1 $dev1 $dev2 21vgcreate $vg2 $dev3 $dev4 22vgmerge $vg1 $vg2 23vgremove $vg1 24vgcreate $vg2 $dev1 $dev2 25vgcreate $vg1 $dev3 $dev4 26vgmerge $vg2 $vg1 27vgremove $vg2 28 29# 'vgmerge rejects duplicate vg name' 30vgcreate $vg1 $dev1 $dev2 31vgcreate $vg2 $dev3 $dev4 32not vgmerge $vg1 $vg1 2>err 33grep "^ Duplicate volume group name \"$vg1\"\$" err 34vgremove $vg2 35vgremove $vg1 36 37# 'vgmerge rejects vgs with incompatible extent_size' 38vgcreate --physicalextentsize 4M $vg1 $dev1 $dev2 39vgcreate --physicalextentsize 8M $vg2 $dev3 $dev4 40not vgmerge $vg1 $vg2 2>err 41grep "^ Extent sizes differ" err 42vgremove $vg2 43vgremove $vg1 44 45# 'vgmerge rejects vgmerge because max_pv is exceeded' 46vgcreate --maxphysicalvolumes 2 $vg1 $dev1 $dev2 47vgcreate --maxphysicalvolumes 2 $vg2 $dev3 $dev4 48not vgmerge $vg1 $vg2 2>err 49grep "^ Maximum number of physical volumes (2) exceeded" err 50vgremove $vg2 51vgremove $vg1 52 53# 'vgmerge rejects vg with active lv' 54vgcreate $vg1 $dev1 $dev2 55vgcreate $vg2 $dev3 $dev4 56lvcreate -l 4 -n lv1 $vg2 57not vgmerge $vg1 $vg2 2>err 58grep "^ Logical volumes in \"$vg2\" must be inactive\$" err 59vgremove -f $vg2 60vgremove -f $vg1 61 62# 'vgmerge rejects vgmerge because max_lv is exceeded' 63vgcreate --maxlogicalvolumes 2 $vg1 $dev1 $dev2 64vgcreate --maxlogicalvolumes 2 $vg2 $dev3 $dev4 65lvcreate -l 4 -n lv1 $vg1 66lvcreate -l 4 -n lv2 $vg1 67lvcreate -l 4 -n lv3 $vg2 68vgchange -an $vg1 69vgchange -an $vg2 70not vgmerge $vg1 $vg2 2>err 71grep "^ Maximum number of logical volumes (2) exceeded" err 72vgremove -f $vg2 73vgremove -f $vg1 74 75