diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-04-29 17:33:38 -0700 |
|---|---|---|
| committer | Christoph Hellwig <hch@lst.de> | 2003-04-29 17:33:38 -0700 |
| commit | 2bfd7eda72df4267b6086c8a06d5c20fdb892458 (patch) | |
| tree | fd03220bc81cc259befb03c68a98165a47a6eddc | |
| parent | 98605ba90138541c317459c2dfb715996e681764 (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.c | 11 |
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, |
