mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-09 01:18:39 +03:00
b9341e36f1
Until we decide how duplicate VG names should be handled by lvmetad, and implement that.
70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
#!/bin/sh
|
|
# Copyright (C) 2008 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
SKIP_WITH_LVMPOLLD=1
|
|
|
|
. lib/inittest
|
|
|
|
aux prepare_devs 4
|
|
pvcreate "$dev1" "$dev2"
|
|
pvcreate --metadatacopies 0 "$dev3" "$dev4"
|
|
|
|
# vgrename normal operation - rename vg1 to vg2
|
|
# vgrename normal operation - rename vg2 to vg1
|
|
# ensure name ordering does not matter
|
|
vgcreate $vg1 "$dev1" "$dev2"
|
|
vgrename $vg1 $vg2
|
|
check vg_field $vg2 vg_name $vg2
|
|
vgrename $vg2 $vg1
|
|
check vg_field $vg1 vg_name $vg1
|
|
vgremove $vg1
|
|
|
|
# vgrename by uuid (bz231187)
|
|
vgcreate $vg1 "$dev1" "$dev3"
|
|
UUID=$(vgs --noheading -o vg_uuid $vg1)
|
|
check vg_field $vg1 vg_uuid $UUID
|
|
vgrename $UUID $vg2
|
|
check vg_field $vg2 vg_name $vg2
|
|
vgremove $vg2
|
|
|
|
# vgrename fails - new vg already exists
|
|
vgcreate $vg1 "$dev1"
|
|
vgcreate $vg2 "$dev2"
|
|
not vgrename $vg1 $vg2
|
|
vgremove $vg1 $vg2
|
|
|
|
# FIXME: decide how lvmetad should handle
|
|
# duplicate VG names. lvmetad now ignores
|
|
# the VG on device B if it already knows
|
|
# about the same VG name on device A.
|
|
# This lets you vgrename the VG on device A
|
|
# which allows the VG on device B to reappear
|
|
# once it's rescanned.
|
|
# It's not yet known how we want lvmetad to
|
|
# handle duplicate VG names.
|
|
|
|
test -e LOCAL_LVMETAD && exit 0
|
|
|
|
# vgrename duplicate name
|
|
vgcreate $vg1 "$dev1"
|
|
aux disable_dev "$dev1"
|
|
vgcreate $vg1 "$dev2"
|
|
UUID=$(vgs --noheading -o vg_uuid $vg1)
|
|
aux enable_dev "$dev1"
|
|
|
|
not vgrename $vg1 $vg2
|
|
vgrename $UUID $vg2
|
|
not vgrename $UUID $vg1
|
|
|
|
vgs
|
|
|
|
vgremove $vg1 $vg2
|