sync_file_range has been supported since Linux 2.6.17.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
AC_HAVE_PWRITEV2
AC_HAVE_PREADV
AC_HAVE_COPY_FILE_RANGE
-AC_HAVE_SYNC_FILE_RANGE
AC_HAVE_SYNCFS
AC_HAVE_FLS
AC_HAVE_READDIR
HAVE_PREADV = @have_preadv@
HAVE_PWRITEV2 = @have_pwritev2@
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
-HAVE_SYNC_FILE_RANGE = @have_sync_file_range@
HAVE_SYNCFS = @have_syncfs@
HAVE_READDIR = @have_readdir@
HAVE_FLS = @have_fls@
file.c freeze.c fsuuid.c fsync.c getrusage.c imap.c inject.c label.c \
link.c mmap.c open.c parent.c pread.c prealloc.c pwrite.c reflink.c \
resblks.c scrub.c seek.c shutdown.c stat.c swapext.c sync.c \
- truncate.c utimes.c fadvise.c sendfile.c madvise.c mincore.c fiemap.c
+ truncate.c utimes.c fadvise.c sendfile.c madvise.c mincore.c fiemap.c \
+ sync_file_range.c
LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG) $(LIBPTHREAD) $(LIBUUID)
LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG)
LCFLAGS += -DHAVE_COPY_FILE_RANGE
endif
-ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
-CFILES += sync_file_range.c
-LCFLAGS += -DHAVE_SYNC_FILE_RANGE
-endif
-
ifeq ($(HAVE_SYNCFS),yes)
LCFLAGS += -DHAVE_SYNCFS
endif
#define copy_range_init() do { } while (0)
#endif
-#ifdef HAVE_SYNC_FILE_RANGE
extern void sync_range_init(void);
-#else
-#define sync_range_init() do { } while (0)
-#endif
#ifdef HAVE_READDIR
extern void readdir_init(void);
AC_SUBST(have_copy_file_range)
])
-#
-# Check if we have a sync_file_range libc call (Linux)
-#
-AC_DEFUN([AC_HAVE_SYNC_FILE_RANGE],
- [ AC_MSG_CHECKING([for sync_file_range])
- AC_LINK_IFELSE(
- [ AC_LANG_PROGRAM([[
-#define _GNU_SOURCE
-#include <fcntl.h>
- ]], [[
-sync_file_range(0, 0, 0, 0);
- ]])
- ], have_sync_file_range=yes
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
- AC_SUBST(have_sync_file_range)
- ])
-
#
# Check if we have a syncfs libc call (Linux)
#