mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-11 20:58:50 +03:00
pvremove: Update lvmcache => avoid spurious error messages.
This commit is contained in:
parent
02e1bf406b
commit
ee200ddfc3
5
lib/cache/lvmcache.c
vendored
5
lib/cache/lvmcache.c
vendored
@ -1062,7 +1062,6 @@ static int _drop_vginfo(struct lvmcache_info *info, struct lvmcache_vginfo *vgin
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unused
|
|
||||||
void lvmcache_del(struct lvmcache_info *info)
|
void lvmcache_del(struct lvmcache_info *info)
|
||||||
{
|
{
|
||||||
if (info->dev->pvid[0] && _pvid_hash)
|
if (info->dev->pvid[0] && _pvid_hash)
|
||||||
@ -1071,11 +1070,11 @@ void lvmcache_del(struct lvmcache_info *info)
|
|||||||
_drop_vginfo(info, info->vginfo);
|
_drop_vginfo(info, info->vginfo);
|
||||||
|
|
||||||
info->label->labeller->ops->destroy_label(info->label->labeller,
|
info->label->labeller->ops->destroy_label(info->label->labeller,
|
||||||
info->label);
|
info->label);
|
||||||
dm_free(info);
|
dm_free(info);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
} */
|
}
|
||||||
|
|
||||||
static int _lvmcache_update_pvid(struct lvmcache_info *info, const char *pvid)
|
static int _lvmcache_update_pvid(struct lvmcache_info *info, const char *pvid)
|
||||||
{
|
{
|
||||||
|
@ -733,6 +733,7 @@ int pvremove_single(struct cmd_context *cmd, const char *pv_name,
|
|||||||
unsigned prompt)
|
unsigned prompt)
|
||||||
{
|
{
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
|
struct lvmcache_info *info;
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
|
||||||
if (!lock_vol(cmd, VG_ORPHANS, LCK_VG_WRITE, NULL)) {
|
if (!lock_vol(cmd, VG_ORPHANS, LCK_VG_WRITE, NULL)) {
|
||||||
@ -749,6 +750,8 @@ int pvremove_single(struct cmd_context *cmd, const char *pv_name,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info = lvmcache_info_from_pvid(dev->pvid, 1);
|
||||||
|
|
||||||
if (!dev_test_excl(dev)) {
|
if (!dev_test_excl(dev)) {
|
||||||
/* FIXME Detect whether device-mapper is still using the device */
|
/* FIXME Detect whether device-mapper is still using the device */
|
||||||
log_error("Can't open %s exclusively - not removing. "
|
log_error("Can't open %s exclusively - not removing. "
|
||||||
@ -762,6 +765,9 @@ int pvremove_single(struct cmd_context *cmd, const char *pv_name,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (info)
|
||||||
|
lvmcache_del(info);
|
||||||
|
|
||||||
if (!lvmetad_pv_gone_by_dev(dev, NULL))
|
if (!lvmetad_pv_gone_by_dev(dev, NULL))
|
||||||
goto_out;
|
goto_out;
|
||||||
|
|
||||||
|
16
test/shell/pvremove-warnings.sh
Normal file
16
test/shell/pvremove-warnings.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Copyright (C) 2014 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
|
||||||
|
|
||||||
|
. lib/test
|
||||||
|
|
||||||
|
aux prepare_devs 2
|
||||||
|
pvcreate "$dev1" "$dev2"
|
||||||
|
pvremove "$dev1" "$dev2" 2>&1 | tee pvremove.txt
|
||||||
|
not grep "No physical" pvremove.txt
|
Loading…
x
Reference in New Issue
Block a user