aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_lrw.c
diff options
context:
space:
mode:
authorBadari Pulavarty <pbadari@us.ibm.com>2006-10-01 02:28:48 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:28 -0400
commit543ade1fc901db4c3dbe9fb27241fb977f1f3eea (patch)
treecdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc /fs/xfs/linux-2.6/xfs_lrw.c
parentee0b3e671baff681d69fbf0db33b47603c0a8280 (diff)
[PATCH] Streamline generic_file_* interfaces and filemap cleanups
This patch cleans up generic_file_*_read/write() interfaces. Christoph Hellwig gave me the idea for this clean ups. In a nutshell, all filesystems should set .aio_read/.aio_write methods and use do_sync_read/ do_sync_write() as their .read/.write methods. This allows us to cleanup all variants of generic_file_* routines. Final available interfaces: generic_file_aio_read() - read handler generic_file_aio_write() - write handler generic_file_aio_write_nolock() - no lock write handler __generic_file_aio_write_nolock() - internal worker routine Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_lrw.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_lrw.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c
index 55992b40353c..fa842f1c9fa2 100644
--- a/fs/xfs/linux-2.6/xfs_lrw.c
+++ b/fs/xfs/linux-2.6/xfs_lrw.c
@@ -279,7 +279,9 @@ xfs_read(
279 279
280 xfs_rw_enter_trace(XFS_READ_ENTER, &ip->i_iocore, 280 xfs_rw_enter_trace(XFS_READ_ENTER, &ip->i_iocore,
281 (void *)iovp, segs, *offset, ioflags); 281 (void *)iovp, segs, *offset, ioflags);
282 ret = __generic_file_aio_read(iocb, iovp, segs, offset); 282
283 iocb->ki_pos = *offset;
284 ret = generic_file_aio_read(iocb, iovp, segs, *offset);
283 if (ret == -EIOCBQUEUED && !(ioflags & IO_ISAIO)) 285 if (ret == -EIOCBQUEUED && !(ioflags & IO_ISAIO))
284 ret = wait_on_sync_kiocb(iocb); 286 ret = wait_on_sync_kiocb(iocb);
285 if (ret > 0) 287 if (ret > 0)