#include "internal.h"
#include <linux/sched/mm.h>
#include <trace/events/erofs.h>
void erofs_unmap_metabuf(struct erofs_buf *buf)
{ … }
void erofs_put_metabuf(struct erofs_buf *buf)
{ … }
void *erofs_bread(struct erofs_buf *buf, erofs_off_t offset,
enum erofs_kmap_type type)
{ … }
void erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb)
{ … }
void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
erofs_off_t offset, enum erofs_kmap_type type)
{ … }
static int erofs_map_blocks_flatmode(struct inode *inode,
struct erofs_map_blocks *map)
{ … }
int erofs_map_blocks(struct inode *inode, struct erofs_map_blocks *map)
{ … }
int erofs_map_dev(struct super_block *sb, struct erofs_map_dev *map)
{ … }
static int erofs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
unsigned int flags, struct iomap *iomap, struct iomap *srcmap)
{ … }
static int erofs_iomap_end(struct inode *inode, loff_t pos, loff_t length,
ssize_t written, unsigned int flags, struct iomap *iomap)
{ … }
static const struct iomap_ops erofs_iomap_ops = …;
int erofs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
u64 start, u64 len)
{ … }
static int erofs_read_folio(struct file *file, struct folio *folio)
{ … }
static void erofs_readahead(struct readahead_control *rac)
{ … }
static sector_t erofs_bmap(struct address_space *mapping, sector_t block)
{ … }
static ssize_t erofs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
{ … }
const struct address_space_operations erofs_raw_access_aops = …;
#ifdef CONFIG_FS_DAX
static vm_fault_t erofs_dax_huge_fault(struct vm_fault *vmf,
unsigned int order)
{ … }
static vm_fault_t erofs_dax_fault(struct vm_fault *vmf)
{ … }
static const struct vm_operations_struct erofs_dax_vm_ops = …;
static int erofs_file_mmap(struct file *file, struct vm_area_struct *vma)
{ … }
#else
#define erofs_file_mmap …
#endif
const struct file_operations erofs_file_fops = …;