diff options
Diffstat (limited to 'tools/reporter.c')
-rw-r--r-- | tools/reporter.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/tools/reporter.c b/tools/reporter.c index 0bfed51b0..dbece44ed 100644 --- a/tools/reporter.c +++ b/tools/reporter.c @@ -382,14 +382,6 @@ static int _pvs_in_vg(struct cmd_context *cmd, const char *vg_name, struct volume_group *vg, struct processing_handle *handle) { - int skip; - - if (ignore_vg(vg, vg_name, 0, &skip)) - return_ECMD_FAILED; - - if (skip) - return ECMD_PROCESSED; - return process_each_pv_in_vg(cmd, vg, handle, &_pvs_single); } @@ -397,14 +389,6 @@ static int _pvsegs_in_vg(struct cmd_context *cmd, const char *vg_name, struct volume_group *vg, struct processing_handle *handle) { - int skip; - - if (ignore_vg(vg, vg_name, 0, &skip)) - return_ECMD_FAILED; - - if (skip) - return ECMD_PROCESSED; - return process_each_pv_in_vg(cmd, vg, handle, &_pvsegs_single); } @@ -564,6 +548,17 @@ static int _report(struct cmd_context *cmd, int argc, char **argv, int lv_info_needed, lv_segment_status_needed; int lock_global = 0; + /* + * When reporting foreign VGs we want to refresh our cached + * copy of them, since other hosts have probably made changes + * to their own VGs. We also want to override the default + * behavior which skips over foreign VGs. + */ + if (arg_is_set(cmd, foreign_ARG) && lvmetad_used()) { + lvmetad_pvscan_all_devs(cmd, NULL); + cmd->include_foreign_vgs = 1; + } + aligned = find_config_tree_bool(cmd, report_aligned_CFG, NULL); buffered = find_config_tree_bool(cmd, report_buffered_CFG, NULL); headings = find_config_tree_bool(cmd, report_headings_CFG, NULL); |