From 710c9373bf486daac28624dc9caf8a49fe6cb9de Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Tue, 29 Jun 2010 22:25:58 +0000 Subject: [PATCH] Add some log_verbose debug statements related to metadataignore. Logging isn't ideal, especially for mda_set_ignore. Ideally we'd like to display the device name and offset in this case but this requires a bit more work and a per-format 'mda_description' function pointer definition (we don't have access to mda_context in metadata.c). --- lib/format_text/text_label.c | 4 ++++ lib/metadata/metadata.c | 11 ++++++++--- lib/metadata/metadata.h | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/format_text/text_label.c b/lib/format_text/text_label.c index 70aba3f1d..38866894d 100644 --- a/lib/format_text/text_label.c +++ b/lib/format_text/text_label.c @@ -312,6 +312,10 @@ static int _text_read(struct labeller *l, struct device *dev, void *buf, mda_set_ignored(mda, rlocn_is_ignored(mdah->raw_locns)); if (mda_is_ignored(mda)) { + log_verbose("Skipping mda with ignored flag on " + "device %s at offset %"PRIu64, + dev_name(mdac->area.dev), + mdac->area.start); if (!dev_close(mdac->area.dev)) stack; continue; diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 6eaf6b415..f29e790a9 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -4117,12 +4117,17 @@ unsigned mda_is_ignored(struct metadata_area *mda) return (mda->flags & MDA_IGNORED); } -void mda_set_ignored(struct metadata_area *mda, int value) +void mda_set_ignored(struct metadata_area *mda, unsigned ignored) { - if (value) + if (ignored) { mda->flags |= MDA_IGNORED; - else + log_verbose("Setting mda ignored flag for metadata_locn %p.", + mda->metadata_locn); + } else { mda->flags &= ~MDA_IGNORED; + log_verbose("Clearing mda ignored flag for metadata_locn %p.", + mda->metadata_locn); + } } uint32_t pv_mda_count(const struct physical_volume *pv) diff --git a/lib/metadata/metadata.h b/lib/metadata/metadata.h index 93c57f824..3b0e0bffa 100644 --- a/lib/metadata/metadata.h +++ b/lib/metadata/metadata.h @@ -181,7 +181,7 @@ struct metadata_area *mda_copy(struct dm_pool *mem, struct metadata_area *mda); unsigned mda_is_ignored(struct metadata_area *mda); -void mda_set_ignored(struct metadata_area *mda, int value); +void mda_set_ignored(struct metadata_area *mda, unsigned ignored); unsigned mda_locns_match(struct metadata_area *mda1, struct metadata_area *mda2); void fid_add_mda(struct format_instance *fid, struct metadata_area *mda); int fid_add_mdas(struct format_instance *fid, struct dm_list *mdas);