2 dnl # Linux 2.6.x - 2.6.34 API
4 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_WITH_DENTRY], [
5 ZFS_LINUX_TRY_COMPILE([
8 int (*fsync) (struct file *, struct dentry *, int) = NULL;
9 struct file_operations fops __attribute__ ((unused));
13 AC_MSG_RESULT([dentry])
14 AC_DEFINE(HAVE_FSYNC_WITH_DENTRY, 1,
15 [fops->fsync() with dentry])
21 dnl # Linux 2.6.35 - Linux 3.0 API
23 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_WITHOUT_DENTRY], [
24 ZFS_LINUX_TRY_COMPILE([
27 int (*fsync) (struct file *, int) = NULL;
28 struct file_operations fops __attribute__ ((unused));
32 AC_MSG_RESULT([no dentry])
33 AC_DEFINE(HAVE_FSYNC_WITHOUT_DENTRY, 1,
34 [fops->fsync() without dentry])
40 dnl # Linux 3.1 - 3.x API
42 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_RANGE], [
43 ZFS_LINUX_TRY_COMPILE([
46 int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
47 struct file_operations fops __attribute__ ((unused));
51 AC_MSG_RESULT([range])
52 AC_DEFINE(HAVE_FSYNC_RANGE, 1,
53 [fops->fsync() with range])
59 dnl # PaX Linux 2.6.x - 2.6.34 API
61 AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY], [
62 ZFS_LINUX_TRY_COMPILE([
65 int (*fsync) (struct file *, struct dentry *, int) = NULL;
66 file_operations_no_const fops __attribute__ ((unused));
70 AC_MSG_RESULT([dentry])
71 AC_DEFINE(HAVE_FSYNC_WITH_DENTRY, 1,
72 [fops->fsync() with dentry])
78 dnl # PaX Linux 2.6.35 - Linux 3.0 API
80 AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY], [
81 ZFS_LINUX_TRY_COMPILE([
84 int (*fsync) (struct file *, int) = NULL;
85 file_operations_no_const fops __attribute__ ((unused));
89 AC_MSG_RESULT([no dentry])
90 AC_DEFINE(HAVE_FSYNC_WITHOUT_DENTRY, 1,
91 [fops->fsync() without dentry])
97 dnl # PaX Linux 3.1 - 3.x API
99 AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_RANGE], [
100 ZFS_LINUX_TRY_COMPILE([
101 #include <linux/fs.h>
103 int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
104 file_operations_no_const fops __attribute__ ((unused));
108 AC_MSG_RESULT([range])
109 AC_DEFINE(HAVE_FSYNC_RANGE, 1,
110 [fops->fsync() with range])
115 AC_DEFUN([ZFS_AC_KERNEL_FSYNC], [
116 AC_MSG_CHECKING([whether fops->fsync() wants])
117 ZFS_AC_KERNEL_FSYNC_WITH_DENTRY
118 ZFS_AC_KERNEL_FSYNC_WITHOUT_DENTRY
119 ZFS_AC_KERNEL_FSYNC_RANGE
120 ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY
121 ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY
122 ZFS_AC_PAX_KERNEL_FSYNC_RANGE