LINUX_AOP_WRITEBACK_CONTROL
LINUX_FS_STRUCT_FOP_HAS_FLOCK
LINUX_FS_STRUCT_FOP_HAS_SENDFILE
+ LINUX_FS_STRUCT_FOP_HAS_SPLICE
LINUX_KERNEL_LINUX_SYSCALL_H
LINUX_KERNEL_LINUX_SEQ_FILE_H
LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
+ AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
+ fi
if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
fi
#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE)
.sendfile = generic_file_sendfile,
#endif
+#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
+ .splice_write = generic_file_splice_write,
+ .splice_read = generic_file_splice_read,
+#endif
.release = afs_linux_release,
.fsync = afs_linux_fsync,
.lock = afs_linux_lock,
ac_cv_linux_have_svc_addr_in=no)])
AC_MSG_RESULT($ac_cv_linux_have_svc_addr_in)])
+AC_DEFUN([LINUX_FS_STRUCT_FOP_HAS_SPLICE], [
+ AC_MSG_CHECKING([for splice_write and splice_read in struct file_operations])
+ AC_CACHE_VAL([ac_cv_linux_fs_struct_fop_has_splice], [
+ AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[struct file_operations _fop;
+_fop.splice_write(NULL, NULL, NULL, 0, 0);
+_fop.splice_read(NULL, NULL, NULL, 0, 0);],
+ ac_cv_linux_fs_struct_fop_has_splice=yes,
+ ac_cv_linux_fs_struct_fop_has_splice=no)])
+ AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_splice)])
+