[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