aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/inode.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-06-24 14:29:47 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-20 20:47:49 -0400
commitaacfc19c626ebd3daa675652457d71019a1f583f (patch)
tree9c1cfb5945e939f1ba56b4c0101c211e84e544c0 /fs/ext4/inode.c
parentdf2d6f26586f12a24f3ae5df4e236dc5c08d6eb4 (diff)
fs: simplify the blockdev_direct_IO prototype
Simple filesystems always pass inode->i_sb_bdev as the block device argument, and never need a end_io handler. Let's simply things for them and for my grepping activity by dropping these arguments. The only thing not falling into that scheme is ext4, which passes and end_io handler without needing special flags (yet), but given how messy the direct I/O code there is use of __blockdev_direct_IO in one instead of two out of three cases isn't going to make a large difference anyway. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r--fs/ext4/inode.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index 9ec0a2ba2502..1f35573a34e1 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -3501,10 +3501,8 @@ retry:
3501 offset, nr_segs, 3501 offset, nr_segs,
3502 ext4_get_block, NULL, NULL, 0); 3502 ext4_get_block, NULL, NULL, 0);
3503 else { 3503 else {
3504 ret = blockdev_direct_IO(rw, iocb, inode, 3504 ret = blockdev_direct_IO(rw, iocb, inode, iov,
3505 inode->i_sb->s_bdev, iov, 3505 offset, nr_segs, ext4_get_block);
3506 offset, nr_segs,
3507 ext4_get_block, NULL);
3508 3506
3509 if (unlikely((rw & WRITE) && ret < 0)) { 3507 if (unlikely((rw & WRITE) && ret < 0)) {
3510 loff_t isize = i_size_read(inode); 3508 loff_t isize = i_size_read(inode);
@@ -3748,11 +3746,13 @@ static ssize_t ext4_ext_direct_IO(int rw, struct kiocb *iocb,
3748 EXT4_I(inode)->cur_aio_dio = iocb->private; 3746 EXT4_I(inode)->cur_aio_dio = iocb->private;
3749 } 3747 }
3750 3748
3751 ret = blockdev_direct_IO(rw, iocb, inode, 3749 ret = __blockdev_direct_IO(rw, iocb, inode,
3752 inode->i_sb->s_bdev, iov, 3750 inode->i_sb->s_bdev, iov,
3753 offset, nr_segs, 3751 offset, nr_segs,
3754 ext4_get_block_write, 3752 ext4_get_block_write,
3755 ext4_end_io_dio); 3753 ext4_end_io_dio,
3754 NULL,
3755 DIO_LOCKING | DIO_SKIP_HOLES);
3756 if (iocb->private) 3756 if (iocb->private)
3757 EXT4_I(inode)->cur_aio_dio = NULL; 3757 EXT4_I(inode)->cur_aio_dio = NULL;
3758 /* 3758 /*