Skip to contentSkip to conversation

aio methods for block devices

PATCH New Janet Morgan 1 participant 1 message Apr 24, 2003 VFS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 aio methods for block devices

Here's a small patch that adds aio_read and aio_write methods to the block device driver.

Thanks,
-Janet

fs/block_dev.c +11 -0
@@ -703,6 +703,15 @@ static ssize_t blkdev_file_write(struct 
 	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,
@@ -719,6 +728,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,