From: David Disseldorp Date: Thu, 19 Feb 2015 14:53:56 +0000 (+0100) Subject: build: check for SEEK_HOLE and SEEK_DATA support X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=76fff2befe6613416e80f891ccb1521609e19169;p=metze%2Fsamba%2Fwip.git 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 --- diff --git a/source3/wscript b/source3/wscript index 7e02b31f3792..90f5d7ff202c 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',