]> sourceware.org Git - lvm2.git/commitdiff
Make vg->mda_copies persistent in on disk vg metadata.
authorDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:37:10 +0000 (20:37 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:37:10 +0000 (20:37 +0000)
This patch adds the ability to read/write the vg->mda_copies values
from/to the vg metadata.

If we read the VG metadata and this field does not exist, we set
mda_copies to the default value of 0.  Later in the code, we use
this special '0' value to indicate a disable of metadata balancing.
This should preserve existing LVM behavior and ensure metadata balancing
can be turned off should the need arise.

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

index 5f02b5d615d816eceb5cb749fd4e2257c3b93d7a..52ae11c2276c3234850dd14c8ea9cd23eab67eb6 100644 (file)
@@ -397,6 +397,7 @@ static int _print_vg(struct formatter *f, struct volume_group *vg)
                outf(f, "allocation_policy = \"%s\"",
                     get_alloc_string(vg->alloc));
        }
+       outf(f, "metadata_copies = %u", vg->mda_copies);
 
        return 1;
 }
index 316adb555ef3b292f275f6bb906c7fe4a90b20b5..62bcbec183719ed2d3d0a7ffb679dc1d7253877f 100644 (file)
@@ -23,6 +23,7 @@
 #include "pv_alloc.h"
 #include "segtype.h"
 #include "text_import.h"
+#include "defaults.h"
 
 typedef int (*section_fn) (struct format_instance * fid, struct dm_pool * mem,
                           struct volume_group * vg, struct config_node * pvn,
@@ -745,6 +746,10 @@ static struct volume_group *_read_vg(struct format_instance *fid,
                        return_0;
        }
 
+       if (!_read_uint32(vgn, "metadata_copies", &vg->mda_copies)) {
+               vg->mda_copies = DEFAULT_VGMETADATACOPIES;
+       }
+
        /*
         * The pv hash memorises the pv section names -> pv
         * structures.
This page took 0.035437 seconds and 5 git commands to generate.