aboutsummaryrefslogtreecommitdiffstats
path: root/fs/block_dev.c
diff options
context:
space:
mode:
authorBadari Pulavarty <pbadari@us.ibm.com>2006-10-01 02:28:48 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-01 03:39:28 -0400
commit543ade1fc901db4c3dbe9fb27241fb977f1f3eea (patch)
treecdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc /fs/block_dev.c
parentee0b3e671baff681d69fbf0db33b47603c0a8280 (diff)
[PATCH] Streamline generic_file_* interfaces and filemap cleanups
This patch cleans up generic_file_*_read/write() interfaces. Christoph Hellwig gave me the idea for this clean ups. In a nutshell, all filesystems should set .aio_read/.aio_write methods and use do_sync_read/ do_sync_write() as their .read/.write methods. This allows us to cleanup all variants of generic_file_* routines. Final available interfaces: generic_file_aio_read() - read handler generic_file_aio_write() - write handler generic_file_aio_write_nolock() - no lock write handler __generic_file_aio_write_nolock() - internal worker routine Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/block_dev.c')
-rw-r--r--fs/block_dev.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/fs/block_dev.c b/fs/block_dev.c
index 0f143094ef1d..bc8f27cc4483 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -1154,14 +1154,6 @@ static int blkdev_close(struct inode * inode, struct file * filp)
1154 return blkdev_put(bdev); 1154 return blkdev_put(bdev);
1155} 1155}
1156 1156
1157static ssize_t blkdev_file_write(struct file *file, const char __user *buf,
1158 size_t count, loff_t *ppos)
1159{
1160 struct iovec local_iov = { .iov_base = (void __user *)buf, .iov_len = count };
1161
1162 return generic_file_write_nolock(file, &local_iov, 1, ppos);
1163}
1164
1165static long block_ioctl(struct file *file, unsigned cmd, unsigned long arg) 1157static long block_ioctl(struct file *file, unsigned cmd, unsigned long arg)
1166{ 1158{
1167 return blkdev_ioctl(file->f_mapping->host, file, cmd, arg); 1159 return blkdev_ioctl(file->f_mapping->host, file, cmd, arg);
@@ -1181,8 +1173,8 @@ const struct file_operations def_blk_fops = {
1181 .open = blkdev_open, 1173 .open = blkdev_open,
1182 .release = blkdev_close, 1174 .release = blkdev_close,
1183 .llseek = block_llseek, 1175 .llseek = block_llseek,
1184 .read = generic_file_read, 1176 .read = do_sync_read,
1185 .write = blkdev_file_write, 1177 .write = do_sync_write,
1186 .aio_read = generic_file_aio_read, 1178 .aio_read = generic_file_aio_read,
1187 .aio_write = generic_file_aio_write_nolock, 1179 .aio_write = generic_file_aio_write_nolock,
1188 .mmap = generic_file_mmap, 1180 .mmap = generic_file_mmap,