2017-03-16 22:18:50 -08:00
/* SPDX-License-Identifier: GPL-2.0 */
# ifndef _BCACHEFS_FS_IO_H
# define _BCACHEFS_FS_IO_H
# ifndef NO_BCACHEFS_FS
# include "buckets.h"
# include "io_types.h"
# include <linux/uio.h>
2019-08-16 09:59:56 -04:00
struct quota_res ;
int __must_check bch2_write_inode_size ( struct bch_fs * ,
struct bch_inode_info * ,
loff_t , unsigned ) ;
2017-03-16 22:18:50 -08:00
int bch2_writepage ( struct page * , struct writeback_control * ) ;
int bch2_read_folio ( struct file * , struct folio * ) ;
int bch2_writepages ( struct address_space * , struct writeback_control * ) ;
void bch2_readahead ( struct readahead_control * ) ;
int bch2_write_begin ( struct file * , struct address_space * , loff_t ,
unsigned , struct page * * , void * * ) ;
int bch2_write_end ( struct file * , struct address_space * , loff_t ,
unsigned , unsigned , struct page * , void * ) ;
ssize_t bch2_read_iter ( struct kiocb * , struct iov_iter * ) ;
ssize_t bch2_write_iter ( struct kiocb * , struct iov_iter * ) ;
int bch2_fsync ( struct file * , loff_t , loff_t , int ) ;
2021-06-14 22:29:54 -04:00
int bch2_truncate ( struct mnt_idmap * ,
struct bch_inode_info * , struct iattr * ) ;
2017-03-16 22:18:50 -08:00
long bch2_fallocate_dispatch ( struct file * , int , loff_t , loff_t ) ;
2019-08-16 09:59:56 -04:00
loff_t bch2_remap_file_range ( struct file * , loff_t , struct file * ,
loff_t , loff_t , unsigned ) ;
2017-03-16 22:18:50 -08:00
loff_t bch2_llseek ( struct file * , loff_t , int ) ;
vm_fault_t bch2_page_fault ( struct vm_fault * ) ;
vm_fault_t bch2_page_mkwrite ( struct vm_fault * ) ;
void bch2_invalidate_folio ( struct folio * , size_t , size_t ) ;
bool bch2_release_folio ( struct folio * , gfp_t ) ;
void bch2_fs_fsio_exit ( struct bch_fs * ) ;
int bch2_fs_fsio_init ( struct bch_fs * ) ;
# else
static inline void bch2_fs_fsio_exit ( struct bch_fs * c ) { }
static inline int bch2_fs_fsio_init ( struct bch_fs * c ) { return 0 ; }
# endif
# endif /* _BCACHEFS_FS_IO_H */