]> sourceware.org Git - lvm2.git/commitdiff
Add mda_copies to VG structures and initialization.
authorDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:36:37 +0000 (20:36 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Mon, 28 Jun 2010 20:36:37 +0000 (20:36 +0000)
Add a field to struct volume_group to later implement metadata
balancing:
- mda_copies: target # of non-ignored mdas in the VG; default 0 (do
not control pv 'ignore mdas' bit.

This patch just adds the parameter to the structures with the default
values but does not modify any commands.  Should be no functional change.

Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
lib/config/defaults.h
lib/metadata/metadata-exported.h
lib/metadata/metadata.c
tools/toollib.c

index 3c383d0ab260ab2de73bd17ff3a453c0368c1903..0d8cb9c359679e4ff01fcf9943a8ce7dfec957dc 100644 (file)
@@ -61,6 +61,7 @@
 #define DEFAULT_STRIPESIZE 64  /* KB */
 #define DEFAULT_PVMETADATASIZE 255
 #define DEFAULT_PVMETADATACOPIES 1
+#define DEFAULT_VGMETADATACOPIES 0
 #define DEFAULT_LABELSECTOR UINT64_C(1)
 #define DEFAULT_READ_AHEAD "auto"
 #define DEFAULT_UDEV_RULES 1
index 2e066618311d87038e176521b2b0c5938d5d4435..5d87bb30bc6d81a0b0d42b6ba60a5711c2328566 100644 (file)
@@ -287,6 +287,7 @@ struct volume_group {
         * 0 for success else appropriate FAILURE_* bits set.
         */
        uint32_t read_status;
+       uint32_t mda_copies; /* target number of mdas for this VG */
 };
 
 /* There will be one area for each stripe */
@@ -896,6 +897,7 @@ struct vgcreate_params {
        size_t max_lv;
        alloc_policy_t alloc;
        int clustered; /* FIXME: put this into a 'status' variable instead? */
+       uint32_t metadata_copies;
 };
 
 int vgcreate_params_validate(struct cmd_context *cmd,
index 89d84c105c09e1f74584d42180d2d9aa3b8e9e26..14ae93e2d68967f0a3049bd8c3d7b24bb02f9502 100644 (file)
@@ -910,6 +910,7 @@ struct volume_group *vg_create(struct cmd_context *cmd, const char *vg_name)
        vg->max_pv = DEFAULT_MAX_PV;
 
        vg->alloc = DEFAULT_ALLOC_POLICY;
+       vg->mda_copies = DEFAULT_VGMETADATACOPIES;
 
        vg->pv_count = 0;
        dm_list_init(&vg->pvs);
index e6791e23baf3048a962225b7cea0be32ad0d1646..02b06fdc9cba7dcfb05f752e0d0fc6b79f1edf4e 100644 (file)
@@ -1187,6 +1187,7 @@ void vgcreate_params_set_defaults(struct vgcreate_params *vp_def,
                vp_def->max_lv = vg->max_lv;
                vp_def->alloc = vg->alloc;
                vp_def->clustered = vg_is_clustered(vg);
+               vp_def->metadata_copies = vg->mda_copies;
        } else {
                vp_def->vg_name = NULL;
                vp_def->extent_size = DEFAULT_EXTENT_SIZE * 2;
@@ -1194,6 +1195,7 @@ void vgcreate_params_set_defaults(struct vgcreate_params *vp_def,
                vp_def->max_lv = DEFAULT_MAX_LV;
                vp_def->alloc = DEFAULT_ALLOC_POLICY;
                vp_def->clustered = DEFAULT_CLUSTERED;
+               vp_def->metadata_copies = DEFAULT_VGMETADATACOPIES;
        }
 }
 
This page took 0.04307 seconds and 5 git commands to generate.