[Ocfs2-devel] [patch 5/5] ocfs2: Add check for type of b_size in struct buffer_head

Jeff Mahoney jeffm at suse.com
Thu Jan 31 12:44:43 PST 2008


 SLES10 has a b_size of type u32, not size_t in struct buffer_head. This
 patch adds a check.

Signed-off-by: Jeff Mahoney <jeffm at suse.com>
---

 Config.make.in     |    1 +
 configure.in       |    5 +++++
 fs/ocfs2/Makefile  |    4 ++++
 fs/ocfs2/journal.c |    7 ++++++-
 4 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/Config.make.in b/Config.make.in
index 98bf410..24740c1 100644
--- a/Config.make.in
+++ b/Config.make.in
@@ -77,6 +77,7 @@ AOPS_IS_NOT_CONST = @AOPS_IS_NOT_CONST@
 NO_VECTORIZED_AIO = @NO_VECTORIZED_AIO@
 NO_SPLICE_FROM_PIPE = @NO_SPLICE_FROM_PIPE@
 OLD_BIO_END_IO = @OLD_BIO_END_IO@
+B_SIZE_IS_U32 = @B_SIZE_IS_U32@
 NO_EXPORTFS_HEADER = @NO_EXPORTFS_HEADER@
 WRITEBACK_CONTROL_NO_RANGE_PREFIX = @WRITEBACK_CONTROL_NO_RANGE_PREFIX@
 NO_SYNC_FILE_FLAGS = @NO_SYNC_FILE_FLAGS@
diff --git a/configure.in b/configure.in
index a4b3f0e..c783d4a 100644
--- a/configure.in
+++ b/configure.in
@@ -331,6 +331,11 @@ OCFS2_CHECK_KERNEL([old bio_end_io_t in bio.h], bio.h,
   OLD_BIO_END_IO=yes, , [^typedef int (bio_end_io_t) (struct bio \*, unsigned int, int);])
 AC_SUBST(OLD_BIO_END_IO)
 
+B_SIZE_IS_U32=
+OCFS2_CHECK_KERNEL([b_size is u32 struct buffer_head in buffer_head.h], buffer_head.h,
+ B_SIZE_IS_U32=yes, , [^	u32 b_size;])
+AC_SUBST(B_SIZE_IS_U32)
+
 NO_EXPORTFS_HEADER=
 OCFS2_CHECK_KERNEL([exportfs.h], exportfs.h,
   , NO_EXPORTFS_HEADER=yes, [^struct export_operations {])
diff --git a/fs/ocfs2/Makefile b/fs/ocfs2/Makefile
index c8a81c4..af47a25 100644
--- a/fs/ocfs2/Makefile
+++ b/fs/ocfs2/Makefile
@@ -100,6 +100,10 @@ ifdef NO_SPLICE_FROM_PIPE
 EXTRA_CFLAGS += -DNO_SPLICE_FROM_PIPE
 endif
 
+ifdef B_SIZE_IS_U32
+EXTRA_CFLAGS += -DB_SIZE_IS_U32
+endif
+
 ifdef NO_EXPORTFS_HEADER
 EXTRA_CFLAGS += -DNO_EXPORTFS_HEADER
 endif
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 0332505..907a1bf 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -235,7 +235,12 @@ int ocfs2_journal_access(handle_t *handle,
 	BUG_ON(!handle);
 	BUG_ON(!bh);
 
-	mlog_entry("bh->b_blocknr=%llu, type=%d (\"%s\"), bh->b_size = %zu\n",
+	mlog_entry("bh->b_blocknr=%llu, type=%d (\"%s\"), bh->b_size = "
+#ifdef B_SIZE_IS_U32
+		   "%u\n",
+#else
+		   "%zu\n",
+#endif
 		   (unsigned long long)bh->b_blocknr, type,
 		   (type == OCFS2_JOURNAL_ACCESS_CREATE) ?
 		   "OCFS2_JOURNAL_ACCESS_CREATE" :





More information about the Ocfs2-devel mailing list