diff options
author | Christoph Hellwig <hch@sgi.com> | 2005-09-04 18:22:52 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-09-04 18:22:52 -0400 |
commit | f09738638d3bae6501e8e160c66233832d8c280f (patch) | |
tree | e205b44c883da5b9ba37741bf5763b5e85d2bcfa /fs/xfs/linux-2.6/xfs_lrw.c | |
parent | 65b3da3705ff873d8704074a75ac983495863380 (diff) |
[XFS] Delay direct I/O completion to a workqueue This is nessecary
because aio+dio completions may happen from irq context but we need
process context for converting unwritten extents. We also queue regular
direct I/O completions to workqueue for regularity, there's only one
queue_work call per syscall.
SGI-PV: 934766
SGI-Modid: xfs-linux:xfs-kern:196857a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_lrw.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_lrw.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_lrw.c b/fs/xfs/linux-2.6/xfs_lrw.c index acab58c48043..3b5fabe8dae9 100644 --- a/fs/xfs/linux-2.6/xfs_lrw.c +++ b/fs/xfs/linux-2.6/xfs_lrw.c | |||
@@ -660,9 +660,6 @@ xfs_write( | |||
660 | (xip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? | 660 | (xip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? |
661 | mp->m_rtdev_targp : mp->m_ddev_targp; | 661 | mp->m_rtdev_targp : mp->m_ddev_targp; |
662 | 662 | ||
663 | if (ioflags & IO_ISAIO) | ||
664 | return XFS_ERROR(-ENOSYS); | ||
665 | |||
666 | if ((pos & target->pbr_smask) || (count & target->pbr_smask)) | 663 | if ((pos & target->pbr_smask) || (count & target->pbr_smask)) |
667 | return XFS_ERROR(-EINVAL); | 664 | return XFS_ERROR(-EINVAL); |
668 | 665 | ||