Browse Source

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>
Christoph Hellwig 11 years ago
parent
commit
9862f62fab
1 changed files with 2 additions and 1 deletions
  1. 2 1
      fs/xfs/xfs_aops.c

+ 2 - 1
fs/xfs/xfs_aops.c

@@ -1441,7 +1441,8 @@ xfs_vm_direct_IO(
 		ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iov,
 		ret = __blockdev_direct_IO(rw, iocb, inode, bdev, iov,
 					    offset, nr_segs,
 					    offset, nr_segs,
 					    xfs_get_blocks_direct,
 					    xfs_get_blocks_direct,
-					    xfs_end_io_direct_write, NULL, 0);
+					    xfs_end_io_direct_write, NULL,
+					    DIO_ASYNC_EXTEND);
 		if (ret != -EIOCBQUEUED && iocb->private)
 		if (ret != -EIOCBQUEUED && iocb->private)
 			goto out_destroy_ioend;
 			goto out_destroy_ioend;
 	} else {
 	} else {