mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
linux: provide read and write ops even when we have aio
read/write will fall back to aio ops but e.g. writev will fail if there is not either a write or writev op explicitly. force the fallback via do_sync_read/do_sync_write required with 2.6.18-348.x rhel kernels but probably not newer ones Reviewed-on: http://gerrit.openafs.org/10246 Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com> Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Derrick Brashear <shadow@your-file-system.com> Tested-by: Derrick Brashear <shadow@your-file-system.com> (cherry picked from commit e6af2ffc86af17c4be427384467c4122fc5301b3) Change-Id: I1b10a6428b1975ef5c76e1ff40217758ff7d90d9 Reviewed-on: http://gerrit.openafs.org/10248 Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de> Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com> Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com> Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
parent
ccc7a46b41
commit
ae8c311e20
@ -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])
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user