mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
7b11ef6de0
To handle multiple VGs with the same name. Simply using the VG name is ambiguous, and lvmetad requires the VG uuid be used to specify which one is meant.
59 lines
1.4 KiB
Bash
59 lines
1.4 KiB
Bash
#!/bin/sh
|
|
# Copyright (C) 2008-2013 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_pvs 5
|
|
|
|
vgcreate $vg1 "$dev1"
|
|
vgcreate $vg2 "$dev3" "$dev4" "$dev5"
|
|
|
|
UUID1=$(get vg_field $vg1 uuid)
|
|
|
|
aux disable_dev "$dev1"
|
|
pvscan
|
|
# dev1 is missing
|
|
fail pvs $(cat DEVICES)
|
|
|
|
# create a new vg1 on dev2,
|
|
# so dev1 and dev2 have different VGs with the same name
|
|
vgcreate $vg1 "$dev2"
|
|
|
|
UUID2=$(get vg_field $vg1 uuid)
|
|
|
|
# Once dev1 is visible again, both VGs named "vg1" are visible.
|
|
aux enable_dev "$dev1"
|
|
|
|
pvs "$dev1"
|
|
|
|
# reappearing device (rhbz 995440)
|
|
lvcreate -aey -m2 --type mirror -l4 --alloc anywhere --corelog -n $lv1 $vg2
|
|
|
|
aux disable_dev "$dev3"
|
|
lvconvert --yes --repair $vg2/$lv1
|
|
aux enable_dev "$dev3"
|
|
|
|
# here it should fix any reappeared devices
|
|
lvs
|
|
|
|
lvs -a $vg2 -o+devices 2>&1 | tee out
|
|
not grep reappeared out
|
|
|
|
# This removes the first "vg1" using its uuid
|
|
vgremove -ff -S vg_uuid=$UUID1
|
|
|
|
# This removes the second "vg1" using its name,
|
|
# now that there is only one VG with that name.
|
|
vgremove -ff $vg1 $vg2
|
|
|