Add -p switch to "zpool get"
[zfs.git] / config / kernel-fsync.m4
index ca00d93..e1f2d68 100644 (file)
@@ -4,11 +4,15 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_WITH_DENTRY], [
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, struct dentry *, int) = NULL;
-               struct file_operations fops __attribute__ ((unused));
 
-               fops.fsync = fsync;
+               int test_fsync(struct file *f, struct dentry *dentry, int x)
+                   { return 0; }
+
+               static const struct file_operations
+                   fops __attribute__ ((unused)) = {
+                       .fsync = test_fsync,
+               };
+       ],[
        ],[
                AC_MSG_RESULT([dentry])
                AC_DEFINE(HAVE_FSYNC_WITH_DENTRY, 1,
@@ -23,11 +27,14 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_WITHOUT_DENTRY], [
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, int) = NULL;
-               struct file_operations fops __attribute__ ((unused));
 
-               fops.fsync = fsync;
+               int test_fsync(struct file *f, int x) { return 0; }
+
+               static const struct file_operations
+                   fops __attribute__ ((unused)) = {
+                       .fsync = test_fsync,
+               };
+       ],[
        ],[
                AC_MSG_RESULT([no dentry])
                AC_DEFINE(HAVE_FSYNC_WITHOUT_DENTRY, 1,
@@ -42,68 +49,15 @@ dnl #
 AC_DEFUN([ZFS_AC_KERNEL_FSYNC_RANGE], [
        ZFS_LINUX_TRY_COMPILE([
                #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
-               struct file_operations fops __attribute__ ((unused));
-
-               fops.fsync = fsync;
-       ],[
-               AC_MSG_RESULT([range])
-               AC_DEFINE(HAVE_FSYNC_RANGE, 1,
-                       [fops->fsync() with range])
-       ],[
-       ])
-])
 
-dnl #
-dnl # PaX Linux 2.6.x - 2.6.34 API
-dnl #
-AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY], [
-       ZFS_LINUX_TRY_COMPILE([
-               #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, struct dentry *, int) = NULL;
-               file_operations_no_const fops __attribute__ ((unused));
+               int test_fsync(struct file *f, loff_t a, loff_t b, int c)
+                   { return 0; }
 
-               fops.fsync = fsync;
-       ],[
-               AC_MSG_RESULT([dentry])
-               AC_DEFINE(HAVE_FSYNC_WITH_DENTRY, 1,
-                       [fops->fsync() with dentry])
+               static const struct file_operations
+                   fops __attribute__ ((unused)) = {
+                       .fsync = test_fsync,
+               };
        ],[
-       ])
-])
-
-dnl #
-dnl # PaX Linux 2.6.35 - Linux 3.0 API
-dnl #
-AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY], [
-       ZFS_LINUX_TRY_COMPILE([
-               #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, int) = NULL;
-               file_operations_no_const fops __attribute__ ((unused));
-
-               fops.fsync = fsync;
-       ],[
-               AC_MSG_RESULT([no dentry])
-               AC_DEFINE(HAVE_FSYNC_WITHOUT_DENTRY, 1,
-                       [fops->fsync() without dentry])
-       ],[
-       ])
-])
-
-dnl #
-dnl # PaX Linux 3.1 - 3.x API
-dnl #
-AC_DEFUN([ZFS_AC_PAX_KERNEL_FSYNC_RANGE], [
-       ZFS_LINUX_TRY_COMPILE([
-               #include <linux/fs.h>
-       ],[
-               int (*fsync) (struct file *, loff_t, loff_t, int) = NULL;
-               file_operations_no_const fops __attribute__ ((unused));
-
-               fops.fsync = fsync;
        ],[
                AC_MSG_RESULT([range])
                AC_DEFINE(HAVE_FSYNC_RANGE, 1,
@@ -117,7 +71,4 @@ AC_DEFUN([ZFS_AC_KERNEL_FSYNC], [
        ZFS_AC_KERNEL_FSYNC_WITH_DENTRY
        ZFS_AC_KERNEL_FSYNC_WITHOUT_DENTRY
        ZFS_AC_KERNEL_FSYNC_RANGE
-       ZFS_AC_PAX_KERNEL_FSYNC_WITH_DENTRY
-       ZFS_AC_PAX_KERNEL_FSYNC_WITHOUT_DENTRY
-       ZFS_AC_PAX_KERNEL_FSYNC_RANGE
 ])