summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-04-29 17:33:38 -0700
committerChristoph Hellwig <hch@lst.de>2003-04-29 17:33:38 -0700
commit2bfd7eda72df4267b6086c8a06d5c20fdb892458 (patch)
treefd03220bc81cc259befb03c68a98165a47a6eddc
parent98605ba90138541c317459c2dfb715996e681764 (diff)
[PATCH] aio support for block devices
From: Janet Morgan <janetmor@us.ibm.com> Here's a small patch that adds aio_read and aio_write methods to the block device driver.
-rw-r--r--fs/block_dev.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 7b53dd72cb26..aff85edae23f 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -689,6 +689,15 @@ static ssize_t blkdev_file_write(struct file *file, const char *buf,
return generic_file_write_nolock(file, &local_iov, 1, ppos);
}
+static ssize_t blkdev_file_aio_write(struct kiocb *iocb, const char *buf,
+ size_t count, loff_t pos)
+{
+ struct iovec local_iov = { .iov_base = (void *)buf, .iov_len = count };
+
+ return generic_file_aio_write_nolock(iocb, &local_iov, 1, &iocb->ki_pos);
+}
+
+
struct address_space_operations def_blk_aops = {
.readpage = blkdev_readpage,
.writepage = blkdev_writepage,
@@ -705,6 +714,8 @@ struct file_operations def_blk_fops = {
.llseek = block_llseek,
.read = generic_file_read,
.write = blkdev_file_write,
+ .aio_read = generic_file_aio_read,
+ .aio_write = blkdev_file_aio_write,
.mmap = generic_file_mmap,
.fsync = block_fsync,
.ioctl = blkdev_ioctl,