gfs2-utils: master - gfs2_edit: Clean up some magic offsets

Andrew Price andyp at fedoraproject.org
Fri May 25 10:37:45 UTC 2012


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ea8be2c77e8a325c9b23cf7022a97db7210b500a
Commit:        ea8be2c77e8a325c9b23cf7022a97db7210b500a
Parent:        b1a3d725b0b5cb448ed232fb325a696aa3d32932
Author:        Andrew Price <anprice at redhat.com>
AuthorDate:    Fri May 25 10:36:07 2012 +0100
Committer:     Andrew Price <anprice at redhat.com>
CommitterDate: Fri May 25 11:36:47 2012 +0100

gfs2_edit: Clean up some magic offsets

Replace some uses of magic offsets with equivalent struct member
accesses.

Signed-off-by: Andrew Price <anprice at redhat.com>
---
 gfs2/edit/hexedit.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c
index 8311534..b4e6d15 100644
--- a/gfs2/edit/hexedit.c
+++ b/gfs2/edit/hexedit.c
@@ -838,6 +838,7 @@ static int hexdump(uint64_t startaddr, int len)
 	uint64_t l;
 	const char *lpBuffer = bh->b_data;
 	int print_field, cursor_line;
+	const uint32_t block_type = get_block_type(bh);
 
 	strcpy(edit_fmt,"%02x");
 	pointer = (unsigned char *)lpBuffer + offset;
@@ -935,7 +936,7 @@ static int hexdump(uint64_t startaddr, int len)
 		}
 		print_gfs2("] ");
 		if (print_field >= 0) {
-			const struct lgfs2_metadata *m = find_mtype(get_block_type(bh), sbd.gfs1);
+			const struct lgfs2_metadata *m = find_mtype(block_type, sbd.gfs1);
 			if (m) {
 				const struct lgfs2_metafield *f;
 				unsigned n;
@@ -951,9 +952,9 @@ static int hexdump(uint64_t startaddr, int len)
 
 		}
 		if (cursor_line) {
-			if (((*(bh->b_data + 7) == GFS2_METATYPE_IN) ||
-			   (*(bh->b_data + 7) == GFS2_METATYPE_DI &&
-			    (*(bh->b_data + 0x8b) || *(bh->b_data + 0x8a))))) {
+			if (block_type == GFS2_METATYPE_IN ||
+			    ((block_type == GFS2_METATYPE_DI) &&
+			     ((struct gfs2_dinode*)bh->b_data)->di_height)) {
 				int ptroffset = edit_row[dmode] * 16 +
 					edit_col[dmode];
 


More information about the cluster-commits mailing list