SLES10 doesn't define the SYNC_FILE_* flags. This patch adds a check. Signed-off-by: Jeff Mahoney --- Config.make.in | 1 + configure.in | 6 ++++++ fs/ocfs2/Makefile | 4 ++++ kapi-compat/include/sync_mapping_range.h | 6 ++++++ 4 files changed, 17 insertions(+) --- a/Config.make.in 2008-02-02 10:36:24.000000000 -0500 +++ b/Config.make.in 2008-02-02 10:36:25.000000000 -0500 @@ -82,6 +82,7 @@ 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@ +NO_SYNC_FILE_FLAGS = @NO_SYNC_FILE_FLAGS@ OCFS_DEBUG = @OCFS_DEBUG@ --- a/configure.in 2008-02-02 10:36:24.000000000 -0500 +++ b/configure.in 2008-02-02 10:36:25.000000000 -0500 @@ -349,6 +349,12 @@ OCFS2_CHECK_KERNEL([range prefix in stru AC_SUBST(WRITEBACK_CONTROL_NO_RANGE_PREFIX) KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS writeback_control.h" +NO_SYNC_FILE_FLAGS= +OCFS2_CHECK_KERNEL([SYNC_FILE_RANGE flags], fs.h, +, NO_SYNC_FILE_FLAGS=yes, [^#define SYNC_FILE_RANGE_WRITE]) +KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS sync_mapping_range.h" +AC_SUBST(NO_SYNC_FILE_FLAGS) + # 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:24.000000000 -0500 +++ b/fs/ocfs2/Makefile 2008-02-02 10:36:25.000000000 -0500 @@ -120,6 +120,10 @@ ifdef WRITEBACK_CONTROL_NO_RANGE_PREFIX EXTRA_CFLAGS += -DWRITEBACK_CONTROL_NO_RANGE_PREFIX endif +ifdef NO_SYNC_FILE_FLAGS +EXTRA_CFLAGS += -DNO_SYNC_FILE_FLAGS +endif + # # Since SUBDIRS means something to kbuild, define them safely. Do not # include trailing slashes. --- a/kapi-compat/include/sync_mapping_range.h 2008-02-02 10:23:14.000000000 -0500 +++ b/kapi-compat/include/sync_mapping_range.h 2008-02-02 10:36:25.000000000 -0500 @@ -15,4 +15,10 @@ int do_sync_mapping_range(struct address loff_t endbyte, unsigned int flags); #endif +#ifdef NO_SYNC_FILE_FLAGS +#define SYNC_FILE_RANGE_WAIT_BEFORE 1 +#define SYNC_FILE_RANGE_WRITE 2 +#define SYNC_FILE_RANGE_WAIT_AFTER 4 +#endif + #endif