aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorDeHackEd <DeHackEd@users.noreply.github.com>2016-11-15 12:20:46 -0500
committerBrian Behlendorf <behlendorf1@llnl.gov>2016-11-15 09:20:46 -0800
commit7ca25051b6470e8471b4ed454d8c66ff21338de3 (patch)
treed29dbbf8ad51f7b86609e4d34cf0e334626543c1 /config
parent6146e17ebe48da1be8b4e2bf38c879273b7c34e5 (diff)
Kernel 4.9 compat: file_operations->aio_fsync removal
Linux kernel commit 723c038475b78 removed this field. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: DHE <git@dehacked.net> Closes #5393
Diffstat (limited to 'config')
-rw-r--r--config/kernel-aio-fsync.m421
-rw-r--r--config/kernel.m41
2 files changed, 22 insertions, 0 deletions
diff --git a/config/kernel-aio-fsync.m4 b/config/kernel-aio-fsync.m4
new file mode 100644
index 000000000..41b7a98a6
--- /dev/null
+++ b/config/kernel-aio-fsync.m4
@@ -0,0 +1,21 @@
+dnl #
+dnl # Linux 4.9-rc5+ ABI, removal of the .aio_fsync field
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_AIO_FSYNC], [
+ AC_MSG_CHECKING([whether fops->aio_fsync() exists])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+
+ static const struct file_operations
+ fops __attribute__ ((unused)) = {
+ .aio_fsync = NULL,
+ };
+ ],[
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_FILE_AIO_FSYNC, 1, [fops->aio_fsync() exists])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])
+
diff --git a/config/kernel.m4 b/config/kernel.m4
index af5945140..b66631a9c 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -66,6 +66,7 @@ AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
ZFS_AC_KERNEL_NR_CACHED_OBJECTS
ZFS_AC_KERNEL_FREE_CACHED_OBJECTS
ZFS_AC_KERNEL_FALLOCATE
+ ZFS_AC_KERNEL_AIO_FSYNC
ZFS_AC_KERNEL_MKDIR_UMODE_T
ZFS_AC_KERNEL_LOOKUP_NAMEIDATA
ZFS_AC_KERNEL_CREATE_NAMEIDATA