1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BCACHEFS_FS_IO_BUFFERED_H
3#define _BCACHEFS_FS_IO_BUFFERED_H
4
5#ifndef NO_BCACHEFS_FS
6
7int bch2_read_single_folio(struct folio *, struct address_space *);
8int bch2_read_folio(struct file *, struct folio *);
9
10int bch2_writepages(struct address_space *, struct writeback_control *);
11void bch2_readahead(struct readahead_control *);
12
13int bch2_write_begin(struct file *, struct address_space *, loff_t,
14		     unsigned, struct page **, void **);
15int bch2_write_end(struct file *, struct address_space *, loff_t,
16		   unsigned, unsigned, struct page *, void *);
17
18ssize_t bch2_write_iter(struct kiocb *, struct iov_iter *);
19
20void bch2_fs_fs_io_buffered_exit(struct bch_fs *);
21int bch2_fs_fs_io_buffered_init(struct bch_fs *);
22#else
23static inline void bch2_fs_fs_io_buffered_exit(struct bch_fs *c) {}
24static inline int bch2_fs_fs_io_buffered_init(struct bch_fs *c) { return 0; }
25#endif
26
27#endif /* _BCACHEFS_FS_IO_BUFFERED_H */
28