]> git.proxmox.com Git - mirror_zfs.git/blobdiff - config/kernel-truncate-range.m4
Linux 5.0 compat: ASM_BUG macro
[mirror_zfs.git] / config / kernel-truncate-range.m4
index 4b1600b61c857a64d1b513beecefc57d1df7cc71..da2cb50fcbcc57661fc70c3cac01e96bfd504954 100644 (file)
@@ -1,18 +1,23 @@
 dnl #
-dnl # 3.5 API change,
-dnl # inode_operations.truncate_range removed
+dnl # 3.5.0 API change
+dnl # torvalds/linux@17cf28afea2a1112f240a3a2da8af883be024811 removed
+dnl # truncate_range(). The file hole punching functionality is now
+dnl # provided by fallocate()
 dnl #
-AC_DEFUN([SPL_AC_INODE_TRUNCATE_RANGE], [
-       AC_MSG_CHECKING([whether truncate_range() inode operation is available])
-       SPL_LINUX_TRY_COMPILE([
+AC_DEFUN([ZFS_AC_KERNEL_TRUNCATE_RANGE], [
+       AC_MSG_CHECKING([whether iops->truncate_range() exists])
+       ZFS_LINUX_TRY_COMPILE([
                #include <linux/fs.h>
+               void truncate_range(struct inode *inode, loff_t start,
+                                   loff_t end) { return; }
+               static struct inode_operations iops __attribute__ ((unused)) = {
+                       .truncate_range = truncate_range,
+               };
        ],[
-               struct inode_operations ops;
-               ops.truncate_range = NULL;
        ],[
                AC_MSG_RESULT(yes)
                AC_DEFINE(HAVE_INODE_TRUNCATE_RANGE, 1,
-                       [truncate_range() inode operation is available])
+                         [iops->truncate_range() exists])
        ],[
                AC_MSG_RESULT(no)
        ])