summaryrefslogtreecommitdiffstats
path: root/config/kernel-vfs-rw-iterate.m4
diff options
context:
space:
mode:
authorChunwei Chen <[email protected]>2017-01-27 10:43:39 -0800
committerBrian Behlendorf <[email protected]>2017-01-27 10:43:39 -0800
commit933ec999511f3d29de005bfa8966ae007b161c0f (patch)
tree9a95099ddf19af2ad57b6b0864e85bacf025aa74 /config/kernel-vfs-rw-iterate.m4
parent986dd8aacc9a00ceedf61f63cbe641786f540611 (diff)
Retire .write/.read file operations
The .write/.read file operations callbacks can be retired since support for .read_iter/.write_iter and .aio_read/.aio_write has been added. The vfs_write()/vfs_read() entry functions will select the correct interface for the kernel. This is desirable because all VFS write/read operations now rely on common code. This change also add the generic write checks to make sure that ulimits are enforced correctly on write. Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Chunwei Chen <[email protected]> Closes #5587 Closes #5673
Diffstat (limited to 'config/kernel-vfs-rw-iterate.m4')
-rw-r--r--config/kernel-vfs-rw-iterate.m421
1 files changed, 21 insertions, 0 deletions
diff --git a/config/kernel-vfs-rw-iterate.m4 b/config/kernel-vfs-rw-iterate.m4
index f8dc42229..af44beb7b 100644
--- a/config/kernel-vfs-rw-iterate.m4
+++ b/config/kernel-vfs-rw-iterate.m4
@@ -25,3 +25,24 @@ AC_DEFUN([ZFS_AC_KERNEL_VFS_RW_ITERATE],
AC_MSG_RESULT(no)
])
])
+
+dnl #
+dnl # Linux 4.1.x API
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_GENERIC_WRITE_CHECKS],
+ [AC_MSG_CHECKING([whether generic_write_checks() takes kiocb])
+ ZFS_LINUX_TRY_COMPILE([
+ #include <linux/fs.h>
+
+ ],[
+ struct kiocb *iocb = NULL;
+ struct iov_iter *iov = NULL;
+ generic_write_checks(iocb, iov);
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_GENERIC_WRITE_CHECKS_KIOCB, 1,
+ [generic_write_checks() takes kiocb])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+])