#include "hpfs_fn.h"
#include <linux/mpage.h>
#include <linux/iomap.h>
#include <linux/fiemap.h>
#define BLOCKS(size) …
static int hpfs_file_release(struct inode *inode, struct file *file)
{ … }
int hpfs_file_fsync(struct file *file, loff_t start, loff_t end, int datasync)
{ … }
static secno hpfs_bmap(struct inode *inode, unsigned file_secno, unsigned *n_secs)
{ … }
void hpfs_truncate(struct inode *i)
{ … }
static int hpfs_get_block(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
{ … }
static int hpfs_iomap_begin(struct inode *inode, loff_t offset, loff_t length,
unsigned flags, struct iomap *iomap, struct iomap *srcmap)
{ … }
static const struct iomap_ops hpfs_iomap_ops = …;
static int hpfs_read_folio(struct file *file, struct folio *folio)
{ … }
static void hpfs_readahead(struct readahead_control *rac)
{ … }
static int hpfs_writepages(struct address_space *mapping,
struct writeback_control *wbc)
{ … }
static void hpfs_write_failed(struct address_space *mapping, loff_t to)
{ … }
static int hpfs_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len,
struct page **pagep, void **fsdata)
{ … }
static int hpfs_write_end(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned copied,
struct page *pagep, void *fsdata)
{ … }
static sector_t _hpfs_bmap(struct address_space *mapping, sector_t block)
{ … }
static int hpfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len)
{ … }
const struct address_space_operations hpfs_aops = …;
const struct file_operations hpfs_file_ops = …;
const struct inode_operations hpfs_file_iops = …;