From 76fff2befe6613416e80f891ccb1521609e19169 Mon Sep 17 00:00:00 2001 From: David Disseldorp Date: Thu, 19 Feb 2015 15:53:56 +0100 Subject: build: check for SEEK_HOLE and SEEK_DATA support SEEK_HOLE and SEEK_DATA will be used in the implementation of FSCTL_QUERY_ALLOCATED_RANGES support. "SEEK_DATA and SEEK_HOLE are nonstandard extensions also present in Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the next POSIX revision (Issue 8)." With Linux they are supported on: - Btrfs (since Linux 3.1) - OCFS (since Linux 3.2) - XFS (since Linux 3.5) - ext4 (since Linux 3.8) - tmpfs (since Linux 3.8) Signed-off-by: David Disseldorp Reviewed-by: Jeremy Allison --- source3/wscript | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source3/wscript b/source3/wscript index 7e02b31f37..90f5d7ff20 100644 --- a/source3/wscript +++ b/source3/wscript @@ -522,6 +522,14 @@ return acl_get_perm_np(permset_d, perm); 'HAVE_FALLOC_FL_PUNCH_HOLE', msg="Checking whether Linux 'fallocate' supports hole-punching", headers='unistd.h sys/types.h fcntl.h linux/falloc.h') + + conf.CHECK_CODE(''' + int ret = lseek(0, 0, SEEK_HOLE); + ret = lseek(0, 0, SEEK_DATA);''', + 'HAVE_LSEEK_HOLE_DATA', + msg="Checking whether lseek supports hole/data seeking", + headers='unistd.h sys/types.h') + conf.CHECK_CODE(''' ssize_t err = readahead(0,0,0x80000);''', 'HAVE_LINUX_READAHEAD', -- cgit