]> sourceware.org Git - lvm2.git/commitdiff
Implement ignore of mda if bit set by skipping r/w of metadata.
authorDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:34:24 +0000 (20:34 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:34:24 +0000 (20:34 +0000)
We implement ignore of an mda at label_read time by checking for
the ignore bit, and then skipping the reading of the vgname and
other information in the metadata.  This will have an effect similar
to a PV found with no mdas.  Thus, it will look like an orphan in the
cache until we scan the rest of the system and find a PV with
metadata, and the mda will not be on the vg->fid->metadata_areas
list so no read/writes will be done to the metadata area.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
lib/format_text/text_label.c

index ab9f595dc7cc857431b73240f3af2cb76e4b8db2..70aba3f1db9d266663d3b84bfda46756c7fb6683 100644 (file)
@@ -311,6 +311,12 @@ 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)) {
+                       if (!dev_close(mdac->area.dev))
+                               stack;
+                       continue;
+               }
+
                if ((vgname = vgname_from_mda(info->fmt, mdah,
                                              &mdac->area,
                                              &vgid, &vgstatus, &creation_host,
This page took 0.040988 seconds and 5 git commands to generate.