#include <linux/uio.h>
#include <linux/blkdev.h>
#include <linux/mpage.h>
#include "affs.h"
static struct buffer_head *affs_get_extblock_slow(struct inode *inode, u32 ext);
static int
affs_file_open(struct inode *inode, struct file *filp)
{ … }
static int
affs_file_release(struct inode *inode, struct file *filp)
{ … }
static int
affs_grow_extcache(struct inode *inode, u32 lc_idx)
{ … }
static struct buffer_head *
affs_alloc_extblock(struct inode *inode, struct buffer_head *bh, u32 ext)
{ … }
static inline struct buffer_head *
affs_get_extblock(struct inode *inode, u32 ext)
{ … }
static struct buffer_head *
affs_get_extblock_slow(struct inode *inode, u32 ext)
{ … }
static int
affs_get_block(struct inode *inode, sector_t block, struct buffer_head *bh_result, int create)
{ … }
static int affs_writepages(struct address_space *mapping,
struct writeback_control *wbc)
{ … }
static int affs_read_folio(struct file *file, struct folio *folio)
{ … }
static void affs_write_failed(struct address_space *mapping, loff_t to)
{ … }
static ssize_t
affs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
{ … }
static int affs_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len,
struct page **pagep, void **fsdata)
{ … }
static int affs_write_end(struct file *file, struct address_space *mapping,
loff_t pos, unsigned int len, unsigned int copied,
struct page *page, void *fsdata)
{ … }
static sector_t _affs_bmap(struct address_space *mapping, sector_t block)
{ … }
const struct address_space_operations affs_aops = …;
static inline struct buffer_head *
affs_bread_ino(struct inode *inode, int block, int create)
{ … }
static inline struct buffer_head *
affs_getzeroblk_ino(struct inode *inode, int block)
{ … }
static inline struct buffer_head *
affs_getemptyblk_ino(struct inode *inode, int block)
{ … }
static int affs_do_read_folio_ofs(struct folio *folio, size_t to, int create)
{ … }
static int
affs_extent_file_ofs(struct inode *inode, u32 newsize)
{ … }
static int affs_read_folio_ofs(struct file *file, struct folio *folio)
{ … }
static int affs_write_begin_ofs(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len,
struct page **pagep, void **fsdata)
{ … }
static int affs_write_end_ofs(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned copied,
struct page *page, void *fsdata)
{ … }
const struct address_space_operations affs_aops_ofs = …;
void
affs_free_prealloc(struct inode *inode)
{ … }
void
affs_truncate(struct inode *inode)
{ … }
int affs_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
{ … }
const struct file_operations affs_file_operations = …;
const struct inode_operations affs_file_inode_operations = …;