diff --git a/acinclude.m4 b/acinclude.m4 index c1d3f4bea5..f36a3821a7 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -820,6 +820,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) AC_CHECK_LINUX_STRUCT([cred], [session_keyring], [cred.h]) AC_CHECK_LINUX_STRUCT([ctl_table], [ctl_name], [sysctl.h]) AC_CHECK_LINUX_STRUCT([dentry_operations], [d_automount], [dcache.h]) + AC_CHECK_LINUX_STRUCT([file_operations], [writev], [fs.h]) AC_CHECK_LINUX_STRUCT([inode], [i_alloc_sem], [fs.h]) AC_CHECK_LINUX_STRUCT([inode], [i_blkbits], [fs.h]) AC_CHECK_LINUX_STRUCT([inode], [i_blksize], [fs.h]) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 64b5fdfd5e..825ad51111 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -791,6 +791,10 @@ struct file_operations afs_file_fops = { #ifdef HAVE_LINUX_GENERIC_FILE_AIO_READ .aio_read = afs_linux_aio_read, .aio_write = afs_linux_aio_write, +#ifdef STRUCT_FILE_OPERATIONS_HAS_WRITEV + .read = do_sync_read, + .write = do_sync_write, +#endif #else .read = afs_linux_read, .write = afs_linux_write,