#include <linux/fs.h>
#include <linux/f2fs_fs.h>
#include <linux/buffer_head.h>
#include <linux/writeback.h>
#include <linux/sched/mm.h>
#include <linux/lz4.h>
#include <linux/zstd.h>
#include "f2fs.h"
#include "node.h"
#include "segment.h"
#include "xattr.h"
#include <trace/events/f2fs.h>
#ifdef CONFIG_F2FS_FS_COMPRESSION
extern const struct address_space_operations f2fs_compress_aops;
#endif
void f2fs_mark_inode_dirty_sync(struct inode *inode, bool sync)
{ … }
void f2fs_set_inode_flags(struct inode *inode)
{ … }
static void __get_inode_rdev(struct inode *inode, struct page *node_page)
{ … }
static void __set_inode_rdev(struct inode *inode, struct page *node_page)
{ … }
static void __recover_inline_status(struct inode *inode, struct page *ipage)
{ … }
static bool f2fs_enable_inode_chksum(struct f2fs_sb_info *sbi, struct page *page)
{ … }
static __u32 f2fs_inode_chksum(struct f2fs_sb_info *sbi, struct page *page)
{ … }
bool f2fs_inode_chksum_verify(struct f2fs_sb_info *sbi, struct page *page)
{ … }
void f2fs_inode_chksum_set(struct f2fs_sb_info *sbi, struct page *page)
{ … }
static bool sanity_check_compress_inode(struct inode *inode,
struct f2fs_inode *ri)
{ … }
static bool sanity_check_inode(struct inode *inode, struct page *node_page)
{ … }
static void init_idisk_time(struct inode *inode)
{ … }
static int do_read_inode(struct inode *inode)
{ … }
static bool is_meta_ino(struct f2fs_sb_info *sbi, unsigned int ino)
{ … }
struct inode *f2fs_iget(struct super_block *sb, unsigned long ino)
{ … }
struct inode *f2fs_iget_retry(struct super_block *sb, unsigned long ino)
{ … }
void f2fs_update_inode(struct inode *inode, struct page *node_page)
{ … }
void f2fs_update_inode_page(struct inode *inode)
{ … }
int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc)
{ … }
void f2fs_evict_inode(struct inode *inode)
{ … }
void f2fs_handle_failed_inode(struct inode *inode)
{ … }