fs.h (d8d3d94b80aa1a1c0ca75c58b8abdc7356f38418) fs.h (31b140398ce56ab41646eda7f02bcb78d6a4c916)
1#ifndef _LINUX_FS_H
2#define _LINUX_FS_H
3
4
5#include <linux/linkage.h>
6#include <linux/wait.h>
7#include <linux/kdev_t.h>
8#include <linux/dcache.h>

--- 2460 unchanged lines hidden (view full) ---

2469
2470 /* filesystem can handle aio writes beyond i_size */
2471 DIO_ASYNC_EXTEND = 0x04,
2472};
2473
2474void dio_end_io(struct bio *bio, int error);
2475
2476ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
1#ifndef _LINUX_FS_H
2#define _LINUX_FS_H
3
4
5#include <linux/linkage.h>
6#include <linux/wait.h>
7#include <linux/kdev_t.h>
8#include <linux/dcache.h>

--- 2460 unchanged lines hidden (view full) ---

2469
2470 /* filesystem can handle aio writes beyond i_size */
2471 DIO_ASYNC_EXTEND = 0x04,
2472};
2473
2474void dio_end_io(struct bio *bio, int error);
2475
2476ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode,
2477 struct block_device *bdev, const struct iovec *iov, loff_t offset,
2478 unsigned long nr_segs, get_block_t get_block, dio_iodone_t end_io,
2477 struct block_device *bdev, struct iov_iter *iter, loff_t offset,
2478 get_block_t get_block, dio_iodone_t end_io,
2479 dio_submit_t submit_io, int flags);
2480
2481static inline ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb,
2479 dio_submit_t submit_io, int flags);
2480
2481static inline ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb,
2482 struct inode *inode, const struct iovec *iov, loff_t offset,
2483 unsigned long nr_segs, get_block_t get_block)
2482 struct inode *inode, struct iov_iter *iter, loff_t offset,
2483 get_block_t get_block)
2484{
2484{
2485 return __blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov,
2486 offset, nr_segs, get_block, NULL, NULL,
2485 return __blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iter,
2486 offset, get_block, NULL, NULL,
2487 DIO_LOCKING | DIO_SKIP_HOLES);
2488}
2489#endif
2490
2491void inode_dio_wait(struct inode *inode);
2492void inode_dio_done(struct inode *inode);
2493
2494extern void inode_set_flags(struct inode *inode, unsigned int flags,

--- 263 unchanged lines hidden ---
2487 DIO_LOCKING | DIO_SKIP_HOLES);
2488}
2489#endif
2490
2491void inode_dio_wait(struct inode *inode);
2492void inode_dio_done(struct inode *inode);
2493
2494extern void inode_set_flags(struct inode *inode, unsigned int flags,

--- 263 unchanged lines hidden ---