[Cluster-devel] [PATCH v2 2/8] libgfs2: Add rgrp_skip support

Andrew Price anprice at redhat.com
Fri Dec 8 15:10:50 UTC 2017


Signed-off-by: Andrew Price <anprice at redhat.com>
---
 gfs2/libgfs2/meta.c   |  4 ++++
 gfs2/libgfs2/ondisk.c | 18 ++++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/gfs2/libgfs2/meta.c b/gfs2/libgfs2/meta.c
index 500757d9..be91f0cc 100644
--- a/gfs2/libgfs2/meta.c
+++ b/gfs2/libgfs2/meta.c
@@ -201,7 +201,11 @@ MH(rg_header)
 F(rg_flags)
 F(rg_free, .flags = LGFS2_MFF_FSBLOCKS)
 F(rg_dinodes, .flags = LGFS2_MFF_FSBLOCKS)
+#ifdef GFS2_HAS_RG_SKIP
+FP(rg_skip, .points_to = (1 << LGFS2_MT_GFS2_RGRP))
+#else
 RF(__pad)
+#endif
 F(rg_igeneration)
 RF(rg_reserved)
 };
diff --git a/gfs2/libgfs2/ondisk.c b/gfs2/libgfs2/ondisk.c
index acedd3ea..b5c62114 100644
--- a/gfs2/libgfs2/ondisk.c
+++ b/gfs2/libgfs2/ondisk.c
@@ -227,6 +227,12 @@ void gfs2_rgrp_in(struct gfs2_rgrp *rg, struct gfs2_buffer_head *bh)
 	CPIN_32(rg, str, rg_flags);
 	CPIN_32(rg, str, rg_free);
 	CPIN_32(rg, str, rg_dinodes);
+#ifdef GFS2_HAS_RG_SKIP
+	CPIN_32(rg, str, rg_skip);
+#else
+	CPIN_32(rg, str, __pad);
+#endif
+	CPIN_64(rg, str, rg_igeneration);
 
 	CPIN_08(rg, str, rg_reserved, 80);
 }
@@ -239,6 +245,12 @@ void gfs2_rgrp_out(const struct gfs2_rgrp *rg, char *buf)
 	CPOUT_32(rg, str, rg_flags);
 	CPOUT_32(rg, str, rg_free);
 	CPOUT_32(rg, str, rg_dinodes);
+#ifdef GFS2_HAS_RG_SKIP
+	CPOUT_32(rg, str, rg_skip);
+#else
+	CPOUT_32(rg, str, __pad);
+#endif
+	CPOUT_64(rg, str, rg_igeneration);
 
 	CPOUT_08(rg, str, rg_reserved, 80);
 }
@@ -255,6 +267,12 @@ void gfs2_rgrp_print(const struct gfs2_rgrp *rg)
 	pv(rg, rg_flags, "%u", "0x%x");
 	pv(rg, rg_free, "%u", "0x%x");
 	pv(rg, rg_dinodes, "%u", "0x%x");
+#ifdef GFS2_HAS_RG_SKIP
+	pv(rg, rg_skip, "%u", "0x%x");
+#else
+	pv(rg, __pad, "%u", "0x%x");
+#endif
+	pv(rg, rg_igeneration, "%llu", "0x%llx");
 }
 
 void gfs2_quota_in(struct gfs2_quota *qu, char *buf)
-- 
2.13.6




More information about the Cluster-devel mailing list