Android-cuttlefish cvd tool
Classes | Macros | Enumerations | Functions
fsck.h File Reference
#include "f2fs.h"
Include dependency graph for fsck.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  orphan_info
 
struct  extent_info
 
struct  child_info
 
struct  f2fs_dentry
 
struct  f2fs_fsck
 
struct  f2fs_fsck::chk_result
 
struct  hard_link_node
 
struct  dump_option
 

Macros

#define FSCK_UNMATCHED_EXTENT   0x00000001
 
#define FSCK_INLINE_INODE   0x00000002
 
#define SB_MASK(i)   (1 << (i))
 
#define SB_MASK_ALL   (SB_MASK(SB0_ADDR) | SB_MASK(SB1_ADDR))
 

Enumerations

enum  {
  FSCK_SUCCESS = 0 , FSCK_ERROR_CORRECTED = 1 << 0 , FSCK_SYSTEM_SHOULD_REBOOT = 1 << 1 , FSCK_ERRORS_LEFT_UNCORRECTED = 1 << 2 ,
  FSCK_OPERATIONAL_ERROR = 1 << 3 , FSCK_USAGE_OR_SYNTAX_ERROR = 1 << 4 , FSCK_USER_CANCELLED = 1 << 5 , FSCK_SHARED_LIB_ERROR = 1 << 7
}
 
enum  { PREEN_MODE_0 , PREEN_MODE_1 , PREEN_MODE_2 , PREEN_MODE_MAX }
 
enum  {
  NOERROR , EWRONG_OPT , ENEED_ARG , EUNKNOWN_OPT ,
  EUNKNOWN_ARG
}
 
enum  SB_ADDR { SB0_ADDR = 0 , SB1_ADDR , SB_MAX_ADDR }
 
enum  NODE_TYPE {
  TYPE_INODE = 37 , TYPE_DIRECT_NODE = 43 , TYPE_INDIRECT_NODE = 53 , TYPE_DOUBLE_INDIRECT_NODE = 67 ,
  TYPE_XATTR = 77
}
 
enum  seg_type {
  SEG_TYPE_DATA , SEG_TYPE_CUR_DATA , SEG_TYPE_NODE , SEG_TYPE_CUR_NODE ,
  SEG_TYPE_MAX
}
 
enum  wr_addr_type {
  WR_NORMAL = 1 , WR_COMPRESS_DATA = 2 , WR_NULL_ADDR = NULL_ADDR , WR_NEW_ADDR = NEW_ADDR ,
  WR_COMPRESS_ADDR = COMPRESS_ADDR
}
 

Functions

static bool need_fsync_data_record (struct f2fs_sb_info *sbi)
 
int fsck_chk_orphan_node (struct f2fs_sb_info *)
 
int fsck_chk_quota_node (struct f2fs_sb_info *)
 
int fsck_chk_quota_files (struct f2fs_sb_info *)
 
int fsck_sanity_check_nid (struct f2fs_sb_info *, u32, enum FILE_TYPE, enum NODE_TYPE)
 
int fsck_sanity_check_nat (struct f2fs_sb_info *sbi, u32 nid)
 
int fsck_chk_node_blk (struct f2fs_sb_info *, struct f2fs_inode *, u32, enum FILE_TYPE, enum NODE_TYPE, u32 *, struct f2fs_compr_blk_cnt *, struct child_info *)
 
int fsck_chk_root_inode (struct f2fs_sb_info *)
 
void fsck_chk_inode_blk (struct f2fs_sb_info *, u32, enum FILE_TYPE, struct f2fs_node *, u32 *, struct f2fs_compr_blk_cnt *, struct node_info *, struct child_info *)
 
int fsck_chk_dnode_blk (struct f2fs_sb_info *, struct f2fs_inode *, u32, enum FILE_TYPE, struct f2fs_node *, u32 *, struct f2fs_compr_blk_cnt *, struct child_info *, struct node_info *)
 
int fsck_chk_idnode_blk (struct f2fs_sb_info *, struct f2fs_inode *, enum FILE_TYPE, struct f2fs_node *, u32 *, struct f2fs_compr_blk_cnt *, struct child_info *)
 
int fsck_chk_didnode_blk (struct f2fs_sb_info *, struct f2fs_inode *, enum FILE_TYPE, struct f2fs_node *, u32 *, struct f2fs_compr_blk_cnt *, struct child_info *)
 
int fsck_chk_data_blk (struct f2fs_sb_info *, struct f2fs_inode *, u32, struct child_info *, int, enum FILE_TYPE, u32, u16, u8, struct f2fs_node *)
 
int fsck_chk_dentry_blk (struct f2fs_sb_info *, int, u32, struct child_info *, int, int, struct f2fs_node *)
 
int fsck_chk_inline_dentries (struct f2fs_sb_info *, struct f2fs_node *, struct child_info *)
 
void fsck_chk_checkpoint (struct f2fs_sb_info *sbi)
 
void fsck_update_sb_flags (struct f2fs_sb_info *sbi)
 
int fsck_chk_meta (struct f2fs_sb_info *sbi)
 
void fsck_chk_and_fix_write_pointers (struct f2fs_sb_info *)
 
int fsck_chk_curseg_info (struct f2fs_sb_info *)
 
void pretty_print_filename (const u8 *raw_name, u32 len, char out[F2FS_PRINT_NAMELEN], int enc_name)
 
void update_free_segments (struct f2fs_sb_info *)
 
void print_cp_state (u32)
 
void print_node_info (struct f2fs_sb_info *, struct f2fs_node *, int)
 
void print_inode_info (struct f2fs_sb_info *, struct f2fs_node *, int)
 
struct seg_entryget_seg_entry (struct f2fs_sb_info *, unsigned int)
 
struct f2fs_summary_blockget_sum_block (struct f2fs_sb_info *, unsigned int, int *)
 
int get_sum_entry (struct f2fs_sb_info *, u32, struct f2fs_summary *)
 
void update_sum_entry (struct f2fs_sb_info *, block_t, struct f2fs_summary *)
 
void get_node_info (struct f2fs_sb_info *, nid_t, struct node_info *)
 
void nullify_nat_entry (struct f2fs_sb_info *, u32)
 
void rewrite_sit_area_bitmap (struct f2fs_sb_info *)
 
void build_nat_area_bitmap (struct f2fs_sb_info *)
 
void build_sit_area_bitmap (struct f2fs_sb_info *)
 
int f2fs_set_main_bitmap (struct f2fs_sb_info *, u32, int)
 
int f2fs_clear_main_bitmap (struct f2fs_sb_info *, u32)
 
int f2fs_set_sit_bitmap (struct f2fs_sb_info *, u32)
 
int f2fs_clear_sit_bitmap (struct f2fs_sb_info *, u32)
 
void fsck_init (struct f2fs_sb_info *)
 
int fsck_verify (struct f2fs_sb_info *)
 
void fsck_free (struct f2fs_sb_info *)
 
bool f2fs_is_valid_blkaddr (struct f2fs_sb_info *sbi, block_t blkaddr, int type)
 
int f2fs_ra_meta_pages (struct f2fs_sb_info *, block_t, int, int)
 
int f2fs_do_mount (struct f2fs_sb_info *)
 
void f2fs_do_umount (struct f2fs_sb_info *)
 
int f2fs_sparse_initialize_meta (struct f2fs_sb_info *)
 
void flush_journal_entries (struct f2fs_sb_info *)
 
void update_curseg_info (struct f2fs_sb_info *, int)
 
void zero_journal_entries (struct f2fs_sb_info *)
 
void flush_sit_entries (struct f2fs_sb_info *)
 
void move_curseg_info (struct f2fs_sb_info *, u64, int)
 
void move_one_curseg_info (struct f2fs_sb_info *sbi, u64 from, int left, int i)
 
void write_curseg_info (struct f2fs_sb_info *)
 
void save_curseg_warm_node_info (struct f2fs_sb_info *)
 
void restore_curseg_warm_node_info (struct f2fs_sb_info *)
 
int find_next_free_block (struct f2fs_sb_info *, u64 *, int, int, bool)
 
void duplicate_checkpoint (struct f2fs_sb_info *)
 
void write_checkpoint (struct f2fs_sb_info *)
 
void write_checkpoints (struct f2fs_sb_info *)
 
void write_raw_cp_blocks (struct f2fs_sb_info *sbi, struct f2fs_checkpoint *cp, int which)
 
void update_superblock (struct f2fs_super_block *, int)
 
void update_data_blkaddr (struct f2fs_sb_info *, nid_t, u16, block_t, struct f2fs_node *)
 
void update_nat_blkaddr (struct f2fs_sb_info *, nid_t, nid_t, block_t)
 
void print_raw_sb_info (struct f2fs_super_block *)
 
void print_ckpt_info (struct f2fs_sb_info *)
 
bool is_checkpoint_stop (struct f2fs_super_block *, bool)
 
bool is_inconsistent_error (struct f2fs_super_block *)
 
pgoff_t current_nat_addr (struct f2fs_sb_info *, nid_t, int *)
 
u32 get_free_segments (struct f2fs_sb_info *)
 
void get_current_sit_page (struct f2fs_sb_info *, unsigned int, struct f2fs_sit_block *)
 
void rewrite_current_sit_page (struct f2fs_sb_info *, unsigned int, struct f2fs_sit_block *)
 
u32 update_nat_bits_flags (struct f2fs_super_block *, struct f2fs_checkpoint *, u32)
 
void write_nat_bits (struct f2fs_sb_info *, struct f2fs_super_block *, struct f2fs_checkpoint *, int)
 
unsigned int get_usable_seg_count (struct f2fs_sb_info *)
 
bool is_usable_seg (struct f2fs_sb_info *, unsigned int)
 
void nat_dump (struct f2fs_sb_info *, nid_t, nid_t)
 
void sit_dump (struct f2fs_sb_info *, unsigned int, unsigned int)
 
void ssa_dump (struct f2fs_sb_info *, int, int)
 
int dump_node (struct f2fs_sb_info *, nid_t, int, char *, int, int, char *)
 
int dump_info_from_blkaddr (struct f2fs_sb_info *, u32)
 
unsigned int start_bidx_of_node (unsigned int, struct f2fs_node *)
 
void dump_node_scan_disk (struct f2fs_sb_info *sbi, nid_t nid)
 
bool is_sit_bitmap_set (struct f2fs_sb_info *sbi, u32 blk_addr)
 
int f2fs_defragment (struct f2fs_sb_info *, u64, u64, u64, int)
 
int f2fs_resize (struct f2fs_sb_info *)
 
int f2fs_sload (struct f2fs_sb_info *)
 
int reserve_new_block (struct f2fs_sb_info *, block_t *, struct f2fs_summary *, int, bool)
 
int new_data_block (struct f2fs_sb_info *, void *, struct dnode_of_data *, int)
 
int f2fs_build_file (struct f2fs_sb_info *, struct dentry *)
 
void f2fs_alloc_nid (struct f2fs_sb_info *, nid_t *)
 
void set_data_blkaddr (struct dnode_of_data *)
 
block_t new_node_block (struct f2fs_sb_info *, struct dnode_of_data *, unsigned int)
 
int f2fs_rebuild_qf_inode (struct f2fs_sb_info *sbi, int qtype)
 
int update_block (struct f2fs_sb_info *sbi, void *buf, u32 *blkaddr, struct f2fs_node *node_blk)
 
u64 f2fs_quota_size (struct quota_file *)
 
u64 f2fs_read (struct f2fs_sb_info *, nid_t, u8 *, u64, pgoff_t)
 
u64 f2fs_write (struct f2fs_sb_info *, nid_t, u8 *, u64, pgoff_t)
 
u64 f2fs_write_compress_data (struct f2fs_sb_info *, nid_t, u8 *, u64, pgoff_t)
 
u64 f2fs_write_addrtag (struct f2fs_sb_info *, nid_t, pgoff_t, unsigned int)
 
void f2fs_filesize_update (struct f2fs_sb_info *, nid_t, u64)
 
int get_dnode_of_data (struct f2fs_sb_info *, struct dnode_of_data *, pgoff_t, int)
 
void make_dentry_ptr (struct f2fs_dentry_ptr *, struct f2fs_node *, void *, int)
 
int f2fs_create (struct f2fs_sb_info *, struct dentry *)
 
int f2fs_mkdir (struct f2fs_sb_info *, struct dentry *)
 
int f2fs_symlink (struct f2fs_sb_info *, struct dentry *)
 
int inode_set_selinux (struct f2fs_sb_info *, u32, const char *)
 
int f2fs_find_path (struct f2fs_sb_info *, char *, nid_t *)
 
nid_t f2fs_lookup (struct f2fs_sb_info *, struct f2fs_node *, u8 *, int)
 
int f2fs_add_link (struct f2fs_sb_info *, struct f2fs_node *, const unsigned char *, int, nid_t, int, block_t *, int)
 
struct hardlink_cache_entryf2fs_search_hardlink (struct f2fs_sb_info *sbi, struct dentry *de)
 
void * read_all_xattrs (struct f2fs_sb_info *, struct f2fs_node *, bool)
 
void write_all_xattrs (struct f2fs_sb_info *sbi, struct f2fs_node *inode, __u32 hsize, void *txattr_addr)
 
int convert_inline_dentry (struct f2fs_sb_info *sbi, struct f2fs_node *node, block_t *p_blkaddr)
 
int update_inode (struct f2fs_sb_info *sbi, struct f2fs_node *inode, u32 *blkaddr)
 
int flush_nat_journal_entries (struct f2fs_sb_info *sbi)
 
int flush_sit_journal_entries (struct f2fs_sb_info *sbi)
 
int is_digits (char *optarg)
 

Macro Definition Documentation

◆ FSCK_INLINE_INODE

#define FSCK_INLINE_INODE   0x00000002

◆ FSCK_UNMATCHED_EXTENT

#define FSCK_UNMATCHED_EXTENT   0x00000001

◆ SB_MASK

#define SB_MASK (   i)    (1 << (i))

◆ SB_MASK_ALL

#define SB_MASK_ALL   (SB_MASK(SB0_ADDR) | SB_MASK(SB1_ADDR))

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

fsck.h

Copyright (c) 2013 Samsung Electronics Co., Ltd. http://www.samsung.com/

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Enumerator
FSCK_SUCCESS 
FSCK_ERROR_CORRECTED 
FSCK_SYSTEM_SHOULD_REBOOT 
FSCK_ERRORS_LEFT_UNCORRECTED 
FSCK_OPERATIONAL_ERROR 
FSCK_USAGE_OR_SYNTAX_ERROR 
FSCK_USER_CANCELLED 
FSCK_SHARED_LIB_ERROR 

◆ anonymous enum

anonymous enum
Enumerator
PREEN_MODE_0 
PREEN_MODE_1 
PREEN_MODE_2 
PREEN_MODE_MAX 

◆ anonymous enum

anonymous enum
Enumerator
NOERROR 
EWRONG_OPT 
ENEED_ARG 
EUNKNOWN_OPT 
EUNKNOWN_ARG 

◆ NODE_TYPE

enum NODE_TYPE
Enumerator
TYPE_INODE 
TYPE_DIRECT_NODE 
TYPE_INDIRECT_NODE 
TYPE_DOUBLE_INDIRECT_NODE 
TYPE_XATTR 

◆ SB_ADDR

enum SB_ADDR
Enumerator
SB0_ADDR 
SB1_ADDR 
SB_MAX_ADDR 

◆ seg_type

enum seg_type
Enumerator
SEG_TYPE_DATA 
SEG_TYPE_CUR_DATA 
SEG_TYPE_NODE 
SEG_TYPE_CUR_NODE 
SEG_TYPE_MAX 

◆ wr_addr_type

Enumerator
WR_NORMAL 
WR_COMPRESS_DATA 
WR_NULL_ADDR 
WR_NEW_ADDR 
WR_COMPRESS_ADDR 

Function Documentation

◆ build_nat_area_bitmap()

void build_nat_area_bitmap ( struct f2fs_sb_info sbi)

◆ build_sit_area_bitmap()

void build_sit_area_bitmap ( struct f2fs_sb_info sbi)

◆ convert_inline_dentry()

int convert_inline_dentry ( struct f2fs_sb_info sbi,
struct f2fs_node node,
block_t p_blkaddr 
)

◆ current_nat_addr()

pgoff_t current_nat_addr ( struct f2fs_sb_info sbi,
nid_t  start,
int *  pack 
)

◆ dump_info_from_blkaddr()

int dump_info_from_blkaddr ( struct f2fs_sb_info sbi,
u32  blk_addr 
)

◆ dump_node()

int dump_node ( struct f2fs_sb_info sbi,
nid_t  nid,
int  force,
char *  base_path,
int  base,
int  allow_folder,
char *  dirent_name 
)

◆ dump_node_scan_disk()

void dump_node_scan_disk ( struct f2fs_sb_info sbi,
nid_t  nid 
)

◆ duplicate_checkpoint()

void duplicate_checkpoint ( struct f2fs_sb_info sbi)

◆ f2fs_add_link()

int f2fs_add_link ( struct f2fs_sb_info sbi,
struct f2fs_node parent,
const unsigned char *  name,
int  name_len,
nid_t  ino,
int  file_type,
block_t p_blkaddr,
int  inc_link 
)

◆ f2fs_alloc_nid()

void f2fs_alloc_nid ( struct f2fs_sb_info sbi,
nid_t nid 
)

node.c

Many parts of codes are copied from Linux kernel/fs/f2fs.

Copyright (C) 2015 Huawei Ltd. Witten by: Hou Pengyang houpe.nosp@m.ngya.nosp@m.ng@hu.nosp@m.awei.nosp@m..com Liu Shuoran liush.nosp@m.uora.nosp@m.n@hua.nosp@m.wei..nosp@m.com Jaegeuk Kim jaege.nosp@m.uk@k.nosp@m.ernel.nosp@m..org

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

◆ f2fs_build_file()

int f2fs_build_file ( struct f2fs_sb_info sbi,
struct dentry de 
)

◆ f2fs_clear_main_bitmap()

int f2fs_clear_main_bitmap ( struct f2fs_sb_info sbi,
u32  blk 
)

◆ f2fs_clear_sit_bitmap()

int f2fs_clear_sit_bitmap ( struct f2fs_sb_info sbi,
u32  blk 
)

◆ f2fs_create()

int f2fs_create ( struct f2fs_sb_info sbi,
struct dentry de 
)

◆ f2fs_defragment()

int f2fs_defragment ( struct f2fs_sb_info sbi,
u64  from,
u64  len,
u64  to,
int  left 
)

◆ f2fs_do_mount()

int f2fs_do_mount ( struct f2fs_sb_info sbi)

◆ f2fs_do_umount()

void f2fs_do_umount ( struct f2fs_sb_info sbi)

◆ f2fs_filesize_update()

void f2fs_filesize_update ( struct f2fs_sb_info sbi,
nid_t  ino,
u64  filesize 
)

◆ f2fs_find_path()

int f2fs_find_path ( struct f2fs_sb_info sbi,
char *  path,
nid_t ino 
)

◆ f2fs_is_valid_blkaddr()

bool f2fs_is_valid_blkaddr ( struct f2fs_sb_info sbi,
block_t  blkaddr,
int  type 
)

◆ f2fs_lookup()

nid_t f2fs_lookup ( struct f2fs_sb_info sbi,
struct f2fs_node dir,
u8 name,
int  len 
)

◆ f2fs_mkdir()

int f2fs_mkdir ( struct f2fs_sb_info sbi,
struct dentry de 
)

◆ f2fs_quota_size()

u64 f2fs_quota_size ( struct quota_file qf)

◆ f2fs_ra_meta_pages()

int f2fs_ra_meta_pages ( struct f2fs_sb_info sbi,
block_t  start,
int  nrpages,
int  type 
)

◆ f2fs_read()

u64 f2fs_read ( struct f2fs_sb_info sbi,
nid_t  ino,
u8 buffer,
u64  count,
pgoff_t  offset 
)

◆ f2fs_rebuild_qf_inode()

int f2fs_rebuild_qf_inode ( struct f2fs_sb_info sbi,
int  qtype 
)

◆ f2fs_resize()

int f2fs_resize ( struct f2fs_sb_info sbi)

◆ f2fs_search_hardlink()

struct hardlink_cache_entry * f2fs_search_hardlink ( struct f2fs_sb_info sbi,
struct dentry de 
)

◆ f2fs_set_main_bitmap()

int f2fs_set_main_bitmap ( struct f2fs_sb_info sbi,
u32  blk,
int  type 
)

◆ f2fs_set_sit_bitmap()

int f2fs_set_sit_bitmap ( struct f2fs_sb_info sbi,
u32  blk 
)

◆ f2fs_sload()

int f2fs_sload ( struct f2fs_sb_info sbi)

◆ f2fs_sparse_initialize_meta()

int f2fs_sparse_initialize_meta ( struct f2fs_sb_info sbi)

◆ f2fs_symlink()

int f2fs_symlink ( struct f2fs_sb_info sbi,
struct dentry de 
)

◆ f2fs_write()

u64 f2fs_write ( struct f2fs_sb_info sbi,
nid_t  ino,
u8 buffer,
u64  count,
pgoff_t  offset 
)

◆ f2fs_write_addrtag()

u64 f2fs_write_addrtag ( struct f2fs_sb_info sbi,
nid_t  ino,
pgoff_t  offset,
unsigned int  addrtag 
)

◆ f2fs_write_compress_data()

u64 f2fs_write_compress_data ( struct f2fs_sb_info sbi,
nid_t  ino,
u8 buffer,
u64  count,
pgoff_t  offset 
)

◆ find_next_free_block()

int find_next_free_block ( struct f2fs_sb_info sbi,
u64 to,
int  left,
int  want_type,
bool  new_sec 
)

◆ flush_journal_entries()

void flush_journal_entries ( struct f2fs_sb_info sbi)

◆ flush_nat_journal_entries()

int flush_nat_journal_entries ( struct f2fs_sb_info sbi)

◆ flush_sit_entries()

void flush_sit_entries ( struct f2fs_sb_info sbi)

◆ flush_sit_journal_entries()

int flush_sit_journal_entries ( struct f2fs_sb_info sbi)

◆ fsck_chk_and_fix_write_pointers()

void fsck_chk_and_fix_write_pointers ( struct f2fs_sb_info sbi)

◆ fsck_chk_checkpoint()

void fsck_chk_checkpoint ( struct f2fs_sb_info sbi)

◆ fsck_chk_curseg_info()

int fsck_chk_curseg_info ( struct f2fs_sb_info sbi)

◆ fsck_chk_data_blk()

int fsck_chk_data_blk ( struct f2fs_sb_info sbi,
struct f2fs_inode inode,
u32  blk_addr,
struct child_info child,
int  last_blk,
enum  FILE_TYPE,
u32  parent_nid,
u16  idx_in_node,
u8  ver,
struct f2fs_node node_blk 
)

◆ fsck_chk_dentry_blk()

int fsck_chk_dentry_blk ( struct f2fs_sb_info sbi,
int  casefolded,
u32  blk_addr,
struct child_info child,
int  last_blk,
int  enc_name,
struct f2fs_node node_blk 
)

◆ fsck_chk_didnode_blk()

int fsck_chk_didnode_blk ( struct f2fs_sb_info sbi,
struct f2fs_inode inode,
enum  FILE_TYPE,
struct f2fs_node node_blk,
u32 blk_cnt,
struct f2fs_compr_blk_cnt cbc,
struct child_info child 
)

◆ fsck_chk_dnode_blk()

int fsck_chk_dnode_blk ( struct f2fs_sb_info sbi,
struct f2fs_inode inode,
u32  nid,
enum  FILE_TYPE,
struct f2fs_node node_blk,
u32 blk_cnt,
struct f2fs_compr_blk_cnt cbc,
struct child_info child,
struct node_info ni 
)

◆ fsck_chk_idnode_blk()

int fsck_chk_idnode_blk ( struct f2fs_sb_info sbi,
struct f2fs_inode inode,
enum  FILE_TYPE,
struct f2fs_node node_blk,
u32 blk_cnt,
struct f2fs_compr_blk_cnt cbc,
struct child_info child 
)

◆ fsck_chk_inline_dentries()

int fsck_chk_inline_dentries ( struct f2fs_sb_info sbi,
struct f2fs_node node_blk,
struct child_info child 
)

◆ fsck_chk_inode_blk()

void fsck_chk_inode_blk ( struct f2fs_sb_info sbi,
u32  nid,
enum  FILE_TYPE,
struct f2fs_node node_blk,
u32 blk_cnt,
struct f2fs_compr_blk_cnt cbc,
struct node_info ni,
struct child_info child_d 
)

◆ fsck_chk_meta()

int fsck_chk_meta ( struct f2fs_sb_info sbi)

◆ fsck_chk_node_blk()

int fsck_chk_node_blk ( struct f2fs_sb_info sbi,
struct f2fs_inode inode,
u32  nid,
enum  FILE_TYPE,
enum  NODE_TYPE,
u32 blk_cnt,
struct f2fs_compr_blk_cnt cbc,
struct child_info child 
)

◆ fsck_chk_orphan_node()

int fsck_chk_orphan_node ( struct f2fs_sb_info sbi)

◆ fsck_chk_quota_files()

int fsck_chk_quota_files ( struct f2fs_sb_info sbi)

◆ fsck_chk_quota_node()

int fsck_chk_quota_node ( struct f2fs_sb_info sbi)

◆ fsck_chk_root_inode()

int fsck_chk_root_inode ( struct f2fs_sb_info sbi)

◆ fsck_free()

void fsck_free ( struct f2fs_sb_info sbi)

◆ fsck_init()

void fsck_init ( struct f2fs_sb_info sbi)

◆ fsck_sanity_check_nat()

int fsck_sanity_check_nat ( struct f2fs_sb_info sbi,
u32  nid 
)

◆ fsck_sanity_check_nid()

int fsck_sanity_check_nid ( struct f2fs_sb_info sbi,
u32  nid,
enum  FILE_TYPE,
enum  NODE_TYPE 
)

◆ fsck_update_sb_flags()

void fsck_update_sb_flags ( struct f2fs_sb_info sbi)

◆ fsck_verify()

int fsck_verify ( struct f2fs_sb_info sbi)

◆ get_current_sit_page()

void get_current_sit_page ( struct f2fs_sb_info sbi,
unsigned int  segno,
struct f2fs_sit_block sit_blk 
)

◆ get_dnode_of_data()

int get_dnode_of_data ( struct f2fs_sb_info sbi,
struct dnode_of_data dn,
pgoff_t  index,
int  mode 
)

◆ get_free_segments()

u32 get_free_segments ( struct f2fs_sb_info sbi)

◆ get_node_info()

void get_node_info ( struct f2fs_sb_info sbi,
nid_t  nid,
struct node_info ni 
)

◆ get_seg_entry()

struct seg_entry * get_seg_entry ( struct f2fs_sb_info sbi,
unsigned int  segno 
)

◆ get_sum_block()

struct f2fs_summary_block * get_sum_block ( struct f2fs_sb_info sbi,
unsigned int  segno,
int *  ret_type 
)

◆ get_sum_entry()

int get_sum_entry ( struct f2fs_sb_info sbi,
u32  blk_addr,
struct f2fs_summary sum_entry 
)

◆ get_usable_seg_count()

unsigned int get_usable_seg_count ( struct f2fs_sb_info sbi)

◆ inode_set_selinux()

int inode_set_selinux ( struct f2fs_sb_info sbi,
u32  ino,
const char *  secon 
)

◆ is_checkpoint_stop()

bool is_checkpoint_stop ( struct f2fs_super_block sb,
bool  abnormal 
)

◆ is_digits()

int is_digits ( char *  optarg)

◆ is_inconsistent_error()

bool is_inconsistent_error ( struct f2fs_super_block sb)

◆ is_sit_bitmap_set()

bool is_sit_bitmap_set ( struct f2fs_sb_info sbi,
u32  blk_addr 
)

◆ is_usable_seg()

bool is_usable_seg ( struct f2fs_sb_info ,
unsigned int   
)

◆ make_dentry_ptr()

void make_dentry_ptr ( struct f2fs_dentry_ptr d,
struct f2fs_node node_blk,
void *  src,
int  type 
)

◆ move_curseg_info()

void move_curseg_info ( struct f2fs_sb_info sbi,
u64  from,
int  left 
)

◆ move_one_curseg_info()

void move_one_curseg_info ( struct f2fs_sb_info sbi,
u64  from,
int  left,
int  i 
)

◆ nat_dump()

void nat_dump ( struct f2fs_sb_info sbi,
nid_t  start_nat,
nid_t  end_nat 
)

◆ need_fsync_data_record()

static bool need_fsync_data_record ( struct f2fs_sb_info sbi)
inlinestatic

◆ new_data_block()

int new_data_block ( struct f2fs_sb_info sbi,
void *  block,
struct dnode_of_data dn,
int  type 
)

◆ new_node_block()

block_t new_node_block ( struct f2fs_sb_info sbi,
struct dnode_of_data dn,
unsigned int  ofs 
)

◆ nullify_nat_entry()

void nullify_nat_entry ( struct f2fs_sb_info sbi,
u32  nid 
)

◆ pretty_print_filename()

void pretty_print_filename ( const u8 raw_name,
u32  len,
char  out[F2FS_PRINT_NAMELEN],
int  enc_name 
)

◆ print_ckpt_info()

void print_ckpt_info ( struct f2fs_sb_info sbi)

◆ print_cp_state()

void print_cp_state ( u32  flag)

◆ print_inode_info()

void print_inode_info ( struct f2fs_sb_info sbi,
struct f2fs_node node,
int  name 
)

◆ print_node_info()

void print_node_info ( struct f2fs_sb_info sbi,
struct f2fs_node node_block,
int  verbose 
)

◆ print_raw_sb_info()

void print_raw_sb_info ( struct f2fs_super_block sb)

◆ read_all_xattrs()

void * read_all_xattrs ( struct f2fs_sb_info sbi,
struct f2fs_node inode,
bool  sanity_check 
)

xattr.c

Many parts of codes are copied from Linux kernel/fs/f2fs.

Copyright (C) 2015 Huawei Ltd. Witten by: Hou Pengyang houpe.nosp@m.ngya.nosp@m.ng@hu.nosp@m.awei.nosp@m..com Liu Shuoran liush.nosp@m.uora.nosp@m.n@hua.nosp@m.wei..nosp@m.com Jaegeuk Kim jaege.nosp@m.uk@k.nosp@m.ernel.nosp@m..org

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

◆ reserve_new_block()

int reserve_new_block ( struct f2fs_sb_info sbi,
block_t to,
struct f2fs_summary sum,
int  type,
bool  is_inode 
)

segment.c

Many parts of codes are copied from Linux kernel/fs/f2fs.

Copyright (C) 2015 Huawei Ltd. Witten by: Hou Pengyang houpe.nosp@m.ngya.nosp@m.ng@hu.nosp@m.awei.nosp@m..com Liu Shuoran liush.nosp@m.uora.nosp@m.n@hua.nosp@m.wei..nosp@m.com Jaegeuk Kim jaege.nosp@m.uk@k.nosp@m.ernel.nosp@m..org Copyright (c) 2020 Google Inc. Robin Hsu robin.nosp@m.hsu@.nosp@m.googl.nosp@m.e.co.nosp@m.m : add sload compression support

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

◆ restore_curseg_warm_node_info()

void restore_curseg_warm_node_info ( struct f2fs_sb_info sbi)

◆ rewrite_current_sit_page()

void rewrite_current_sit_page ( struct f2fs_sb_info sbi,
unsigned int  segno,
struct f2fs_sit_block sit_blk 
)

◆ rewrite_sit_area_bitmap()

void rewrite_sit_area_bitmap ( struct f2fs_sb_info sbi)

◆ save_curseg_warm_node_info()

void save_curseg_warm_node_info ( struct f2fs_sb_info sbi)

◆ set_data_blkaddr()

void set_data_blkaddr ( struct dnode_of_data dn)

◆ sit_dump()

void sit_dump ( struct f2fs_sb_info sbi,
unsigned int  start_sit,
unsigned int  end_sit 
)

◆ ssa_dump()

void ssa_dump ( struct f2fs_sb_info sbi,
int  start_ssa,
int  end_ssa 
)

◆ start_bidx_of_node()

unsigned int start_bidx_of_node ( unsigned int  node_ofs,
struct f2fs_node node_blk 
)

◆ update_block()

int update_block ( struct f2fs_sb_info sbi,
void *  buf,
u32 blkaddr,
struct f2fs_node node_blk 
)

◆ update_curseg_info()

void update_curseg_info ( struct f2fs_sb_info sbi,
int  type 
)

◆ update_data_blkaddr()

void update_data_blkaddr ( struct f2fs_sb_info sbi,
nid_t  nid,
u16  ofs_in_node,
block_t  newaddr,
struct f2fs_node node_blk 
)

◆ update_free_segments()

void update_free_segments ( struct f2fs_sb_info sbi)

◆ update_inode()

int update_inode ( struct f2fs_sb_info sbi,
struct f2fs_node inode,
u32 blkaddr 
)

◆ update_nat_bits_flags()

u32 update_nat_bits_flags ( struct f2fs_super_block sb,
struct f2fs_checkpoint cp,
u32  flags 
)

◆ update_nat_blkaddr()

void update_nat_blkaddr ( struct f2fs_sb_info sbi,
nid_t  ino,
nid_t  nid,
block_t  newaddr 
)

◆ update_sum_entry()

void update_sum_entry ( struct f2fs_sb_info sbi,
block_t  blk_addr,
struct f2fs_summary sum 
)

◆ update_superblock()

void update_superblock ( struct f2fs_super_block sb,
int  sb_mask 
)

◆ write_all_xattrs()

void write_all_xattrs ( struct f2fs_sb_info sbi,
struct f2fs_node inode,
__u32  hsize,
void *  txattr_addr 
)

◆ write_checkpoint()

void write_checkpoint ( struct f2fs_sb_info sbi)

◆ write_checkpoints()

void write_checkpoints ( struct f2fs_sb_info sbi)

◆ write_curseg_info()

void write_curseg_info ( struct f2fs_sb_info sbi)

◆ write_nat_bits()

void write_nat_bits ( struct f2fs_sb_info sbi,
struct f2fs_super_block sb,
struct f2fs_checkpoint cp,
int  set 
)

◆ write_raw_cp_blocks()

void write_raw_cp_blocks ( struct f2fs_sb_info sbi,
struct f2fs_checkpoint cp,
int  which 
)

◆ zero_journal_entries()

void zero_journal_entries ( struct f2fs_sb_info sbi)