1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Revert "process_each_pv: remove unnecessary workaround"

This reverts commit be1b1f3d89.
This commit is contained in:
David Teigland 2016-01-14 09:12:57 -06:00
parent 88400b599e
commit 6d09c8c2c4

View File

@ -3033,6 +3033,7 @@ static int _process_pvs_in_vg(struct cmd_context *cmd,
const char *pv_name;
int selected;
int process_pv;
int dev_found;
int ret_max = ECMD_PROCESSED;
int ret = 0;
@ -3086,7 +3087,21 @@ static int _process_pvs_in_vg(struct cmd_context *cmd,
else
log_very_verbose("Processing PV %s in VG %s.", pv_name, vg->name);
_device_list_remove(all_devices, pv->dev);
dev_found = _device_list_remove(all_devices, pv->dev);
/*
* FIXME PVs with no mdas may turn up in an orphan VG when
* not using lvmetad as well as their correct VG. They
* will be missing from all_devices the second time
* around but must not be processed twice or trigger a message.
*
* Missing PVs will also need processing even though they are
* not present in all_devices.
*/
if (!dev_found && !is_missing_pv(pv)) {
log_verbose("Skipping PV %s in VG %s: not in device list.", pv_name, vg->name);
continue;
}
if (!skip) {
ret = process_single_pv(cmd, vg, pv, handle);