master - Revert "process_each_pv: remove unnecessary workaround"

David Teigland <[email protected]>
Newsgroups dev.linux.lists.lvm-devel
Message-ID <[email protected]>
Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=6d09c8c2c45ea1dea243134b8badc841a87cc979
Commit:        6d09c8c2c45ea1dea243134b8badc841a87cc979
Parent:        88400b599efa2a06fcc29c1c69ef450aa0c98524
Author:        David Teigland <[email protected]>
AuthorDate:    Thu Jan 14 09:12:57 2016 -0600
Committer:     David Teigland <[email protected]>
CommitterDate: Thu Jan 14 09:12:57 2016 -0600

Revert "process_each_pv: remove unnecessary workaround"

This reverts commit be1b1f3d8941543bcde2f42e65ed0f22fd07b122.
---
 tools/toollib.c |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/tools/toollib.c b/tools/toollib.c
index 97cc1bf..728e61d 100644
--- a/tools/toollib.c
+++ b/tools/toollib.c
@@ -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);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.