1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-09 01:18:39 +03:00
lvm2/test/shell/vgrename-usage.sh
David Teigland b9341e36f1 test: disable duplicate VG name test for lvmetad
Until we decide how duplicate VG names should be
handled by lvmetad, and implement that.
2015-11-06 15:58:22 -06:00

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