#include <linux/buffer_head.h>
#include <linux/gfp.h>
#include <linux/mpage.h>
#include <linux/pagemap.h>
#include <linux/writeback.h>
#include <linux/uio.h>
#include <linux/fiemap.h>
#include "nilfs.h"
#include "btnode.h"
#include "segment.h"
#include "page.h"
#include "mdt.h"
#include "cpfile.h"
#include "ifile.h"
struct nilfs_iget_args { … };
static int nilfs_iget_test(struct inode *inode, void *opaque);
void nilfs_inode_add_blocks(struct inode *inode, int n)
{ … }
void nilfs_inode_sub_blocks(struct inode *inode, int n)
{ … }
int nilfs_get_block(struct inode *inode, sector_t blkoff,
struct buffer_head *bh_result, int create)
{ … }
static int nilfs_read_folio(struct file *file, struct folio *folio)
{ … }
static void nilfs_readahead(struct readahead_control *rac)
{ … }
static int nilfs_writepages(struct address_space *mapping,
struct writeback_control *wbc)
{ … }
static int nilfs_writepage(struct page *page, struct writeback_control *wbc)
{ … }
static bool nilfs_dirty_folio(struct address_space *mapping,
struct folio *folio)
{ … }
void nilfs_write_failed(struct address_space *mapping, loff_t to)
{ … }
static int nilfs_write_begin(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len,
struct page **pagep, void **fsdata)
{ … }
static int nilfs_write_end(struct file *file, struct address_space *mapping,
loff_t pos, unsigned len, unsigned copied,
struct page *page, void *fsdata)
{ … }
static ssize_t
nilfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
{ … }
const struct address_space_operations nilfs_aops = …;
static int nilfs_insert_inode_locked(struct inode *inode,
struct nilfs_root *root,
unsigned long ino)
{ … }
struct inode *nilfs_new_inode(struct inode *dir, umode_t mode)
{ … }
void nilfs_set_inode_flags(struct inode *inode)
{ … }
int nilfs_read_inode_common(struct inode *inode,
struct nilfs_inode *raw_inode)
{ … }
static int __nilfs_read_inode(struct super_block *sb,
struct nilfs_root *root, unsigned long ino,
struct inode *inode)
{ … }
static int nilfs_iget_test(struct inode *inode, void *opaque)
{ … }
static int nilfs_iget_set(struct inode *inode, void *opaque)
{ … }
struct inode *nilfs_ilookup(struct super_block *sb, struct nilfs_root *root,
unsigned long ino)
{ … }
struct inode *nilfs_iget_locked(struct super_block *sb, struct nilfs_root *root,
unsigned long ino)
{ … }
struct inode *nilfs_iget(struct super_block *sb, struct nilfs_root *root,
unsigned long ino)
{ … }
struct inode *nilfs_iget_for_gc(struct super_block *sb, unsigned long ino,
__u64 cno)
{ … }
int nilfs_attach_btree_node_cache(struct inode *inode)
{ … }
void nilfs_detach_btree_node_cache(struct inode *inode)
{ … }
struct inode *nilfs_iget_for_shadow(struct inode *inode)
{ … }
void nilfs_write_inode_common(struct inode *inode,
struct nilfs_inode *raw_inode)
{ … }
void nilfs_update_inode(struct inode *inode, struct buffer_head *ibh, int flags)
{ … }
#define NILFS_MAX_TRUNCATE_BLOCKS …
static void nilfs_truncate_bmap(struct nilfs_inode_info *ii,
unsigned long from)
{ … }
void nilfs_truncate(struct inode *inode)
{ … }
static void nilfs_clear_inode(struct inode *inode)
{ … }
void nilfs_evict_inode(struct inode *inode)
{ … }
int nilfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
struct iattr *iattr)
{ … }
int nilfs_permission(struct mnt_idmap *idmap, struct inode *inode,
int mask)
{ … }
int nilfs_load_inode_block(struct inode *inode, struct buffer_head **pbh)
{ … }
int nilfs_inode_dirty(struct inode *inode)
{ … }
int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
{ … }
int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
{ … }
void nilfs_dirty_inode(struct inode *inode, int flags)
{ … }
int nilfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
__u64 start, __u64 len)
{ … }