diff options
author | Christoph Hellwig <hch@infradead.org> | 2014-02-09 18:28:04 -0500 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2014-02-09 18:28:04 -0500 |
commit | 9862f62faba8c279ac07415a6f610041116fbdc0 (patch) | |
tree | 94af488994406dc3de4e640fe52e8efb6825bbc2 | |
parent | d531d91d69902e55633ed834f531aa0b48d618cc (diff) |
xfs: allow appending aio writes
XFS can easily support appending aio writes by ensuring we always allocate
blocks as unwritten extents when performing direct I/O writes and only
converting them to written extents at I/O completion.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
-rw-r--r-- | fs/xfs/xfs_aops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index db2cfb067d0b..ef62c6b6130a 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c | |||
@@ -1441,7 +1441,8 @@ xfs_vm_direct_IO( | |||
1441 | ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iov, | 1441 | ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iov, |
1442 | offset, nr_segs, | 1442 | offset, nr_segs, |
1443 | xfs_get_blocks_direct, | 1443 | xfs_get_blocks_direct, |
1444 | xfs_end_io_direct_write, NULL, 0); | 1444 | xfs_end_io_direct_write, NULL, |
1445 | DIO_ASYNC_EXTEND); | ||
1445 | if (ret != -EIOCBQUEUED && iocb->private) | 1446 | if (ret != -EIOCBQUEUED && iocb->private) |
1446 | goto out_destroy_ioend; | 1447 | goto out_destroy_ioend; |
1447 | } else { | 1448 | } else { |