1 #ifndef _BCACHE_FS_IO_H
2 #define _BCACHE_FS_IO_H
7 int bch_set_page_dirty(struct page *);
9 int bch_writepage(struct page *, struct writeback_control *);
10 int bch_readpage(struct file *, struct page *);
12 int bch_writepages(struct address_space *, struct writeback_control *);
13 int bch_readpages(struct file *, struct address_space *,
14 struct list_head *, unsigned);
16 int bch_write_begin(struct file *, struct address_space *, loff_t,
17 unsigned, unsigned, struct page **, void **);
18 int bch_write_end(struct file *, struct address_space *, loff_t,
19 unsigned, unsigned, struct page *, void *);
21 ssize_t bch_direct_IO(struct kiocb *, struct iov_iter *);
23 ssize_t bch_write_iter(struct kiocb *, struct iov_iter *);
25 int bch_fsync(struct file *, loff_t, loff_t, int);
27 int bch_truncate(struct inode *, struct iattr *);
28 long bch_fallocate_dispatch(struct file *, int, loff_t, loff_t);
30 loff_t bch_llseek(struct file *, loff_t, int);
32 int bch_page_mkwrite(struct vm_area_struct *, struct vm_fault *);
33 void bch_invalidatepage(struct page *, unsigned int, unsigned int);
34 int bch_releasepage(struct page *, gfp_t);
35 int bch_migrate_page(struct address_space *, struct page *,
36 struct page *, enum migrate_mode);
38 struct i_sectors_hook {
39 struct extent_insert_hook hook;
41 struct bch_inode_info *ei;
44 struct bchfs_write_op {
45 struct bch_inode_info *ei;
49 struct bch_write_op op;
52 struct bch_writepage_io {
55 struct bchfs_write_op op;
58 struct bch_write_bio bio;
61 extern struct bio_set *bch_writepage_bioset;
71 struct disk_reservation res;
74 struct iovec inline_vecs[UIO_FASTIOV];
79 struct bchfs_write_op iop;
82 struct bch_write_bio bio;
85 extern struct bio_set *bch_dio_write_bioset;
91 struct bch_read_bio rbio;
94 extern struct bio_set *bch_dio_read_bioset;
96 #endif /* _BCACHE_FS_IO_H */