mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-10 16:58:47 +03:00
lvmetad: Differentiate between filtered and truly missing devices.
We used to print an error message whenever we tried to deal with devices that lvmetad knew about but were rejected by a client-side filter. Instead, we now check whether the device is actually absent or only filtered out and only print a warning in the latter case.
This commit is contained in:
parent
5f9b30d178
commit
671d0ea1b1
6
lib/cache/lvmetad.c
vendored
6
lib/cache/lvmetad.c
vendored
@ -293,7 +293,11 @@ static struct lvmcache_info *_pv_populate_lvmcache(struct cmd_context *cmd,
|
||||
dev = dev_cache_get_by_devt(fallback, cmd->filter);
|
||||
|
||||
if (!dev) {
|
||||
log_error("No device found for PV %s.", pvid_txt);
|
||||
dev = dev_cache_get_by_devt(devt, cmd->lvmetad_filter);
|
||||
if (!dev)
|
||||
log_error("No device found for PV %s.", pvid_txt);
|
||||
else
|
||||
log_warn("WARNING: Device %s for PV %s rejected by a filter.", dev_name(dev), pvid_txt);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
18
test/shell/lvmetad-client-filter.sh
Normal file
18
test/shell/lvmetad-client-filter.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
# 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/inittest
|
||||
|
||||
test -e LOCAL_LVMETAD || skip
|
||||
aux prepare_pvs 2
|
||||
|
||||
pvs --config 'devices { filter = [ "r%.*%" ] }' 2>&1 | grep rejected
|
||||
pvs --config 'devices { filter = [ "r%.*%" ] }' 2>&1 | not grep 'No device found'
|
Loading…
x
Reference in New Issue
Block a user