SLES10 still has start/end in struct writeback_control rather than range_start/range_end. This patch adds a workaround. Signed-off-by: Jeff Mahoney --- Config.make.in | 1 + Makefile | 1 + configure.in | 6 ++++++ fs/ocfs2/Makefile | 4 ++++ kapi-compat/include/writeback_control.h | 9 +++++++++ 5 files changed, 21 insertions(+) --- a/Config.make.in 2008-02-02 10:36:14.000000000 -0500 +++ b/Config.make.in 2008-02-02 10:36:24.000000000 -0500 @@ -81,6 +81,7 @@ B_SIZE_IS_U32 = @B_SIZE_IS_U32@ NO_EXPORTFS_HEADER = @NO_EXPORTFS_HEADER@ NO_LOCKDEP = @NO_LOCKDEP@ NO_MANDATORY_LOCK = @NO_MANDATORY_LOCK@ +WRITEBACK_CONTROL_NO_RANGE_PREFIX = @WRITEBACK_CONTROL_NO_RANGE_PREFIX@ OCFS_DEBUG = @OCFS_DEBUG@ --- a/Makefile 2008-02-02 10:36:14.000000000 -0500 +++ b/Makefile 2008-02-02 10:36:24.000000000 -0500 @@ -28,6 +28,7 @@ KAPI_COMPAT_FILES = \ kapi-compat/include/relatime.h \ kapi-compat/include/should_remove_suid.h \ kapi-compat/include/generic_segment_checks.h \ + kapi-compat/include/writeback_control.h \ kapi-compat/include/aiovec.h PATCH_FILES = --- a/configure.in 2008-02-02 10:36:14.000000000 -0500 +++ b/configure.in 2008-02-02 10:36:24.000000000 -0500 @@ -343,6 +343,12 @@ OCFS2_CHECK_KERNEL([mandatory_lock() in AC_SUBST(NO_MANDATORY_LOCK) KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS mandatory_lock.h" +WRITEBACK_CONTROL_NO_RANGE_PREFIX= +OCFS2_CHECK_KERNEL([range prefix in struct writeback_control], writeback.h, + , WRITEBACK_CONTROL_NO_RANGE_PREFIX=yes, [ loff_t range_start;$]) +AC_SUBST(WRITEBACK_CONTROL_NO_RANGE_PREFIX) +KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS writeback_control.h" + # using -include has two advantages: # the source doesn't need to know to include compat headers # the compat header file names don't go through the search path --- a/fs/ocfs2/Makefile 2008-02-02 10:36:14.000000000 -0500 +++ b/fs/ocfs2/Makefile 2008-02-02 10:36:24.000000000 -0500 @@ -116,6 +116,10 @@ ifdef NO_MANDATORY_LOCK EXTRA_CFLAGS += -DNO_MANDATORY_LOCK endif +ifdef WRITEBACK_CONTROL_NO_RANGE_PREFIX +EXTRA_CFLAGS += -DWRITEBACK_CONTROL_NO_RANGE_PREFIX +endif + # # Since SUBDIRS means something to kbuild, define them safely. Do not # include trailing slashes. --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ b/kapi-compat/include/writeback_control.h 2008-02-02 10:36:24.000000000 -0500 @@ -0,0 +1,9 @@ +#ifndef KAPI_WRITEBACK_CONTROL_NO_RANGE_PREFIX +#define KAPI_WRITEBACK_CONTROL_NO_RANGE_PREFIX + +#ifdef WRITEBACK_CONTROL_NO_RANGE_PREFIX +#define range_start start +#define range_end end +#endif + +#endif