#include <linux/buffer_head.h>
#include <linux/fs.h>
#include <linux/mpage.h>
#include <linux/namei.h>
#include <linux/nls.h>
#include <linux/uio.h>
#include <linux/writeback.h>
#include "debug.h"
#include "ntfs.h"
#include "ntfs_fs.h"
static struct inode *ntfs_read_mft(struct inode *inode,
const struct cpu_str *name,
const struct MFT_REF *ref)
{ … }
static int ntfs_test_inode(struct inode *inode, void *data)
{ … }
static int ntfs_set_inode(struct inode *inode, void *data)
{ … }
struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref,
const struct cpu_str *name)
{ … }
enum get_block_ctx { … };
static noinline int ntfs_get_block_vbo(struct inode *inode, u64 vbo,
struct buffer_head *bh, int create,
enum get_block_ctx ctx)
{ … }
int ntfs_get_block(struct inode *inode, sector_t vbn,
struct buffer_head *bh_result, int create)
{ … }
static int ntfs_get_block_bmap(struct inode *inode, sector_t vsn,
struct buffer_head *bh_result, int create)
{ … }
static sector_t ntfs_bmap(struct address_space *mapping, sector_t block)
{ … }
static int ntfs_read_folio(struct file *file, struct folio *folio)
{ … }
static void ntfs_readahead(struct readahead_control *rac)
{ … }
static int ntfs_get_block_direct_IO_R(struct inode *inode, sector_t iblock,
struct buffer_head *bh_result, int create)
{ … }
static int ntfs_get_block_direct_IO_W(struct inode *inode, sector_t iblock,
struct buffer_head *bh_result, int create)
{ … }
static ssize_t ntfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
{ … }
int ntfs_set_size(struct inode *inode, u64 new_size)
{ … }
static int ntfs_resident_writepage(struct folio *folio,
struct writeback_control *wbc, void *data)
{ … }
static int ntfs_writepages(struct address_space *mapping,
struct writeback_control *wbc)
{ … }
static int ntfs_get_block_write_begin(struct inode *inode, sector_t vbn,
struct buffer_head *bh_result, int create)
{ … }
int ntfs_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, u32 len, struct page **pagep, void **fsdata)
{ … }
int ntfs_write_end(struct file *file, struct address_space *mapping, loff_t pos,
u32 len, u32 copied, struct page *page, void *fsdata)
{ … }
int reset_log_file(struct inode *inode)
{ … }
int ntfs3_write_inode(struct inode *inode, struct writeback_control *wbc)
{ … }
int ntfs_sync_inode(struct inode *inode)
{ … }
static int writeback_inode(struct inode *inode)
{ … }
int ntfs_flush_inodes(struct super_block *sb, struct inode *i1,
struct inode *i2)
{ … }
int inode_read_data(struct inode *inode, void *data, size_t bytes)
{ … }
static inline u32 ntfs_reparse_bytes(u32 uni_len)
{ … }
static struct REPARSE_DATA_BUFFER *
ntfs_create_reparse_buffer(struct ntfs_sb_info *sbi, const char *symname,
u32 size, u16 *nsize)
{ … }
int ntfs_create_inode(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *dentry, const struct cpu_str *uni,
umode_t mode, dev_t dev, const char *symname, u32 size,
struct ntfs_fnd *fnd)
{ … }
int ntfs_link_inode(struct inode *inode, struct dentry *dentry)
{ … }
int ntfs_unlink_inode(struct inode *dir, const struct dentry *dentry)
{ … }
void ntfs_evict_inode(struct inode *inode)
{ … }
static int ntfs_translate_junction(const struct super_block *sb,
const struct dentry *link_de, char *target,
int target_len, int target_max)
{ … }
static noinline int ntfs_readlink_hlp(const struct dentry *link_de,
struct inode *inode, char *buffer,
int buflen)
{ … }
static const char *ntfs_get_link(struct dentry *de, struct inode *inode,
struct delayed_call *done)
{ … }
const struct inode_operations ntfs_link_inode_operations = …;
const struct address_space_operations ntfs_aops = …;
const struct address_space_operations ntfs_aops_cmpr = …;