=================================================================== RCS file: /cvs/openafs/acinclude.m4,v retrieving revision 1.114.2.83 retrieving revision 1.114.2.84 diff -u -r1.114.2.83 -r1.114.2.84 --- openafs/acinclude.m4 2007/10/15 12:42:20 1.114.2.83 +++ openafs/acinclude.m4 2007/11/06 18:35:30 1.114.2.84 @@ -614,6 +614,7 @@ 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 @@ -860,6 +861,9 @@ fi 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]) =================================================================== RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v retrieving revision 1.81.2.58 retrieving revision 1.81.2.59 diff -u -r1.81.2.58 -r1.81.2.59 --- openafs/src/afs/LINUX/osi_vnodeops.c 2007/11/01 03:33:14 1.81.2.58 +++ openafs/src/afs/LINUX/osi_vnodeops.c 2007/11/06 18:35:32 1.81.2.59 @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.58 2007/11/01 03:33:14 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.59 2007/11/06 18:35:32 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -642,6 +642,10 @@ .flush = afs_linux_flush, #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, =================================================================== RCS file: /cvs/openafs/src/cf/linux-test4.m4,v retrieving revision 1.20.2.34 retrieving revision 1.20.2.35 diff -u -r1.20.2.34 -r1.20.2.35 --- openafs/src/cf/linux-test4.m4 2007/10/15 12:42:29 1.20.2.34 +++ openafs/src/cf/linux-test4.m4 2007/11/06 18:35:32 1.20.2.35 @@ -894,3 +894,15 @@ ac_cv_linux_fs_struct_fop_has_sendfile=no)]) AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_sendfile)]) +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 ], +[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)]) +