fiemap has been supported since Linux 2.6.28.
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_PACKAGE_NEED_RCU_INIT
AC_HAVE_FALLOCATE
-AC_HAVE_FIEMAP
AC_HAVE_PWRITEV2
AC_HAVE_PREADV
AC_HAVE_COPY_FILE_RANGE
HAVE_ZIPPED_MANPAGES = @have_zipped_manpages@
HAVE_FALLOCATE = @have_fallocate@
-HAVE_FIEMAP = @have_fiemap@
HAVE_PREADV = @have_preadv@
HAVE_PWRITEV2 = @have_pwritev2@
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
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
+ truncate.c utimes.c fadvise.c sendfile.c madvise.c mincore.c fiemap.c
LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG) $(LIBPTHREAD) $(LIBUUID)
LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE) $(LIBFROG)
LLDFLAGS = -static-libtool-libs
-ifeq ($(HAVE_FIEMAP),yes)
-CFILES += fiemap.c
-LCFLAGS += -DHAVE_FIEMAP
-else
-LSRCFILES += fiemap.c
-endif
-
ifeq ($(HAVE_COPY_FILE_RANGE),yes)
CFILES += copy_file_range.c
LCFLAGS += -DHAVE_COPY_FILE_RANGE
extern void sendfile_init(void);
extern void madvise_init(void);
extern void mincore_init(void);
-
-#ifdef HAVE_FIEMAP
extern void fiemap_init(void);
-#else
-#define fiemap_init() do { } while (0)
-#endif
#ifdef HAVE_COPY_FILE_RANGE
extern void copy_range_init(void);
AC_SUBST(have_fallocate)
])
-#
-# Check if we have the fiemap ioctl (Linux)
-#
-AC_DEFUN([AC_HAVE_FIEMAP],
- [ AC_MSG_CHECKING([for fiemap])
- AC_LINK_IFELSE(
- [ AC_LANG_PROGRAM([[
-#define _GNU_SOURCE
-#include <linux/fs.h>
-#include <linux/fiemap.h>
-#include <sys/ioctl.h>
- ]], [[
-struct fiemap *fiemap;
-ioctl(0, FS_IOC_FIEMAP, (unsigned long)fiemap);
- ]])
- ], have_fiemap=yes
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
- AC_SUBST(have_fiemap)
- ])
-
#
# Check if we have a preadv libc call (Linux)
#