[lvm-devel] [PATCH 29/35] Set vg_mda_copies when pvchange --metadataignore is given.
Dave Wysochanski
dwysocha at redhat.com
Tue Jun 22 03:06:02 UTC 2010
When a user explicitly sets a new mda ignore value for a PV, we
should update vg_mda_copies accordingly. When the VG is written
out, the user would not want the new ignore state to get lost as
a result of the metadata balancing policy.
Signed-off-by: Dave Wysochanski <dwysocha at redhat.com>
---
tools/pvchange.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/tools/pvchange.c b/tools/pvchange.c
index ba196d6..7f02073 100644
--- a/tools/pvchange.c
+++ b/tools/pvchange.c
@@ -147,6 +147,18 @@ static int _pvchange_single(struct cmd_context *cmd, struct volume_group *vg,
if (!pv_mda_set_ignored(pv, mda_ignore)) {
goto out;
}
+ /*
+ * Update vg_mda_copies based on the mdas in this PV.
+ * This is most likely what the usre would expect - if they
+ * specify a specific PV to be ignored/un-ignored, they will
+ * most likely not want LVM to turn around and change the
+ * ignore / un-ignore value when it writes the VG to disk.
+ * This does not guarantee this PV's ignore bits will be
+ * preserved in future operations.
+ */
+ if (!is_orphan(pv) && vg_mda_copies(vg)) {
+ vg_set_mda_copies(vg, vg_mda_copies(vg));
+ }
} else {
/* --uuid: Change PV ID randomly */
if (!id_create(&pv->id)) {
--
1.6.0.6
More information about the lvm-devel
mailing list