summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-06-24 20:29:47 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-21 02:47:49 +0200
commitaacfc19c626ebd3daa675652457d71019a1f583f (patch)
tree9c1cfb5945e939f1ba56b4c0101c211e84e544c0 /include
parentfs: always maintain i_dio_count (diff)
downloadlinux-aacfc19c626ebd3daa675652457d71019a1f583f.tar.xz
linux-aacfc19c626ebd3daa675652457d71019a1f583f.zip
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 'include')
-rw-r--r--include/linux/fs.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2fe920774abf..824453be9fee 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2418,12 +2418,11 @@ ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
dio_submit_t submit_io, int flags);
static inline ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb,
- struct inode *inode, struct block_device *bdev, const struct iovec *iov,
- loff_t offset, unsigned long nr_segs, get_block_t get_block,
- dio_iodone_t end_io)
+ struct inode *inode, const struct iovec *iov, loff_t offset,
+ unsigned long nr_segs, get_block_t get_block)
{
- return __blockdev_direct_IO(rw, iocb, inode, bdev, iov, offset,
- nr_segs, get_block, end_io, NULL,
+ return __blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov,
+ offset, nr_segs, get_block, NULL, NULL,
DIO_LOCKING | DIO_SKIP_HOLES);
}
#endif