[PATCH 1/7] xfs: remove IO_ISAIO

Christoph Hellwig
2009-11-14T16:17:43Z

[-- Attachment #1: xfs-kill-IO_ISAIO --]
[-- Type: text/plain, Size: 2307 bytes --]

We set this flag for all read/write I/O since early Linux 2.6.x.
Remove it as it has lost it's purpose long ago.

Signed-off-by: Christoph Hellwig <hch@lst.de>

Index: xfs/fs/xfs/linux-2.6/xfs_file.c
===================================================================
--- xfs.orig/fs/xfs/linux-2.6/xfs_file.c 2009-10-11 14:25:17.496003686 +0200
+++ xfs/fs/xfs/linux-2.6/xfs_file.c 2009-11-12 17:14:06.160023109 +0100
@@ -52,7 +52,7 @@ xfs_file_aio_read(
loff_t pos)
{
struct file *file = iocb->ki_filp;
- int ioflags = IO_ISAIO;
+ int ioflags = 0;

BUG_ON(iocb->ki_pos != pos);
if (unlikely(file->f_flags & O_DIRECT))
@@ -71,7 +71,7 @@ xfs_file_aio_write(
loff_t pos)
{
struct file *file = iocb->ki_filp;
- int ioflags = IO_ISAIO;
+ int ioflags = 0;

BUG_ON(iocb->ki_pos != pos);
if (unlikely(file->f_flags & O_DIRECT))
Index: xfs/fs/xfs/linux-2.6/xfs_lrw.c
===================================================================
--- xfs.orig/fs/xfs/linux-2.6/xfs_lrw.c 2009-11-12 17:10:19.909278501 +0100
+++ xfs/fs/xfs/linux-2.6/xfs_lrw.c 2009-11-12 17:14:06.161003891 +0100
@@ -255,8 +255,6 @@ xfs_read(

iocb->ki_pos = *offset;
ret = generic_file_aio_read(iocb, iovp, segs, *offset);
- if (ret == -EIOCBQUEUED && !(ioflags & IO_ISAIO))
- ret = wait_on_sync_kiocb(iocb);
if (ret > 0)
XFS_STATS_ADD(xs_read_bytes, ret);

@@ -774,9 +772,6 @@ write_retry:

current->backing_dev_info = NULL;

- if (ret == -EIOCBQUEUED && !(ioflags & IO_ISAIO))
- ret = wait_on_sync_kiocb(iocb);
-
isize = i_size_read(inode);
if (unlikely(ret < 0 && ret != -EFAULT && *offset > isize))
*offset = isize;
Index: xfs/fs/xfs/linux-2.6/xfs_vnode.h
===================================================================
--- xfs.orig/fs/xfs/linux-2.6/xfs_vnode.h 2009-11-12 17:10:19.942276910 +0100
+++ xfs/fs/xfs/linux-2.6/xfs_vnode.h 2009-11-12 17:14:06.161003891 +0100
@@ -36,7 +36,6 @@ struct attrlist_cursor_kern;
/*
* Flags for read/write calls - same values as IRIX
*/
-#define IO_ISAIO 0x00001 /* don't wait for completion */
#define IO_ISDIRECT 0x00004 /* bypass page cache */
#define IO_INVIS 0x00020 /* don't update inode timestamps */