Add SEEK_DATA/SEEK_HOLE to lseek()/llseek()
[zfs.git] / config / kernel-lseek-execute.m4
diff --git a/config/kernel-lseek-execute.m4 b/config/kernel-lseek-execute.m4
new file mode 100644 (file)
index 0000000..8c4032b
--- /dev/null
@@ -0,0 +1,23 @@
+dnl #
+dnl # 3.11 API change
+dnl # lseek_execute helper exported
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_LSEEK_EXECUTE],
+       [AC_MSG_CHECKING([whether lseek_execute() is available])
+       ZFS_LINUX_TRY_COMPILE_SYMBOL([
+               #include <linux/fs.h>
+       ], [
+               struct file *fp __attribute__ ((unused)) = NULL;
+               struct inode *ip __attribute__ ((unused)) = NULL;
+               loff_t offset __attribute__ ((unused)) = 0;
+               loff_t maxsize __attribute__ ((unused)) = 0;
+
+               lseek_execute(fp, ip, offset, maxsize);
+       ], [lseek_exclusive], [fs/read_write.c], [
+               AC_MSG_RESULT(yes)
+               AC_DEFINE(HAVE_LSEEK_EXECUTE, 1,
+                         [lseek_execute() is available])
+       ], [
+               AC_MSG_RESULT(no)
+       ])
+])