diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/kernel-dirty-inode.m4 | 23 | ||||
-rw-r--r-- | config/kernel.m4 | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/config/kernel-dirty-inode.m4 b/config/kernel-dirty-inode.m4 new file mode 100644 index 000000000..2ededf154 --- /dev/null +++ b/config/kernel-dirty-inode.m4 @@ -0,0 +1,23 @@ +dnl # +dnl # 3.0 API change +dnl # The sops->dirty_inode() callbacks were updated to take a flags +dnl # argument. This allows the greater control over whether the +dnl # filesystem needs to push out a transaction or not. +dnl # +AC_DEFUN([ZFS_AC_KERNEL_DIRTY_INODE_WITH_FLAGS], [ + AC_MSG_CHECKING([whether sops->dirty_inode() wants flags]) + ZFS_LINUX_TRY_COMPILE([ + #include <linux/fs.h> + ],[ + void (*dirty_inode) (struct inode *, int) = NULL; + struct super_operations sops __attribute__ ((unused)); + + sops.dirty_inode = dirty_inode; + ],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_DIRTY_INODE_WITH_FLAGS, 1, + [sops->dirty_inode() wants flags]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) diff --git a/config/kernel.m4 b/config/kernel.m4 index 2312730c5..aab3a167b 100644 --- a/config/kernel.m4 +++ b/config/kernel.m4 @@ -47,6 +47,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [ ZFS_AC_KERNEL_SHOW_OPTIONS ZFS_AC_KERNEL_FSYNC ZFS_AC_KERNEL_EVICT_INODE + ZFS_AC_KERNEL_DIRTY_INODE_WITH_FLAGS ZFS_AC_KERNEL_NR_CACHED_OBJECTS ZFS_AC_KERNEL_FREE_CACHED_OBJECTS ZFS_AC_KERNEL_FALLOCATE |