[lvm-devel] [PATCH 18/21] Add vg_mda_balance_{min|max} display fields to 'vgs' command.

Dave Wysochanski dwysocha at redhat.com
Tue Feb 9 22:32:21 UTC 2010


Signed-off-by: Dave Wysochanski <dwysocha at redhat.com>
---
 lib/report/columns.h |    2 ++
 lib/report/report.c  |   24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/lib/report/columns.h b/lib/report/columns.h
index 9dd67d9..f0c3d28 100644
--- a/lib/report/columns.h
+++ b/lib/report/columns.h
@@ -115,6 +115,8 @@ FIELD(VGS, vg, NUM, "#VMda", cmd, 5, vgmdas, "vg_mda_count", "Number of metadata
 FIELD(VGS, vg, NUM, "#VMdaDis", cmd, 8, vgmdas_disabled, "vg_mda_count_disabled", "Number of metadata areas disabled in this VG.")
 FIELD(VGS, vg, NUM, "VMdaFree", cmd, 9, vgmdafree, "vg_mda_free", "Free metadata area space for this VG in current units.")
 FIELD(VGS, vg, NUM, "VMdaSize", cmd, 9, vgmdasize, "vg_mda_size", "Size of smallest metadata area for this VG in current units.")
+FIELD(VGS, vg, NUM, "#VMdaMin", cmd, 8, vgmda_balance_min, "vg_mda_balance_min", "Minimum number of PVs on which to read/write metadata.")
+FIELD(VGS, vg, NUM, "#VMdaMax", cmd, 8, vgmda_balance_max, "vg_mda_balance_max", "Maximum number of PVs on which to read/write metadata.")
 
 FIELD(SEGS, seg, STR, "Type", list, 4, segtype, "segtype", "Type of LV segment.")
 FIELD(SEGS, seg, NUM, "#Str", area_count, 4, uint32, "stripes", "Number of stripes or mirror legs.")
diff --git a/lib/report/report.c b/lib/report/report.c
index e6a5785..40a76b8 100644
--- a/lib/report/report.c
+++ b/lib/report/report.c
@@ -898,6 +898,30 @@ static int _vgmdas_disabled_disp(struct dm_report *rh, struct dm_pool *mem,
 	return _uint32_disp(rh, mem, field, &count, private);
 }
 
+static int _vgmda_balance_min_disp(struct dm_report *rh, struct dm_pool *mem,
+				   struct dm_report_field *field,
+				   const void *data, void *private)
+{
+	const struct volume_group *vg = (const struct volume_group *) data;
+	uint32_t count;
+
+	count = vg_mda_balance_min(vg);
+
+	return _uint32_disp(rh, mem, field, &count, private);
+}
+
+static int _vgmda_balance_max_disp(struct dm_report *rh, struct dm_pool *mem,
+				   struct dm_report_field *field,
+				   const void *data, void *private)
+{
+	const struct volume_group *vg = (const struct volume_group *) data;
+	uint32_t count;
+
+	count = vg_mda_balance_max(vg);
+
+	return _uint32_disp(rh, mem, field, &count, private);
+}
+
 static int _pvmdafree_disp(struct dm_report *rh, struct dm_pool *mem,
 			   struct dm_report_field *field,
 			   const void *data, void *private)
-- 
1.6.0.6




More information about the lvm-devel mailing list