sendfile has been supported since Linux 2.2 and glibc 2.1.
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_MADVISE
AC_HAVE_MINCORE
-AC_HAVE_SENDFILE
AC_HAVE_FALLOCATE
AC_HAVE_FIEMAP
AC_HAVE_PWRITEV2
HAVE_MADVISE = @have_madvise@
HAVE_MINCORE = @have_mincore@
-HAVE_SENDFILE = @have_sendfile@
HAVE_FALLOCATE = @have_fallocate@
HAVE_FIEMAP = @have_fiemap@
HAVE_PREADV = @have_preadv@
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
+ truncate.c utimes.c fadvise.c sendfile.c
LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG) $(LIBPTHREAD) $(LIBUUID)
LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG)
LSRCFILES += mincore.c
endif
-ifeq ($(HAVE_SENDFILE),yes)
-CFILES += sendfile.c
-LCFLAGS += -DHAVE_SENDFILE
-else
-LSRCFILES += sendfile.c
-endif
-
ifeq ($(HAVE_FIEMAP),yes)
CFILES += fiemap.c
LCFLAGS += -DHAVE_FIEMAP
extern void truncate_init(void);
extern void utimes_init(void);
extern void fadvise_init(void);
-
-#ifdef HAVE_SENDFILE
extern void sendfile_init(void);
-#else
-#define sendfile_init() do { } while (0)
-#endif
#ifdef HAVE_MADVISE
extern void madvise_init(void);
AC_SUBST(have_mincore)
])
-#
-# Check if we have a working sendfile system call
-#
-AC_DEFUN([AC_HAVE_SENDFILE],
- [ AC_MSG_CHECKING([for sendfile ])
- AC_COMPILE_IFELSE(
- [ AC_LANG_PROGRAM([[
-#define _GNU_SOURCE
-#include <sys/sendfile.h>
- ]], [[
-sendfile(0, 0, 0, 0);
- ]])
- ], have_sendfile=yes
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
- AC_SUBST(have_sendfile)
- ])
-
#
# Check if we have a fallocate libc call (Linux)
#