Android-cuttlefish cvd tool
Macros | Functions | Variables
mount.c File Reference
#include "fsck.h"
#include "node.h"
#include "xattr.h"
#include "quota.h"
#include <locale.h>
#include <stdbool.h>
#include <time.h>
Include dependency graph for mount.c:

Macros

#define ACL_UNDEFINED_TAG   (0x00)
 
#define ACL_USER_OBJ   (0x01)
 
#define ACL_USER   (0x02)
 
#define ACL_GROUP_OBJ   (0x04)
 
#define ACL_GROUP   (0x08)
 
#define ACL_MASK   (0x10)
 
#define ACL_OTHER   (0x20)
 
#define CHECK_PERIOD   (3600 * 24 * 30)
 

Functions

bool is_usable_seg (struct f2fs_sb_info *UNUSED(sbi), unsigned int UNUSED(segno))
 
unsigned int get_usable_seg_count (struct f2fs_sb_info *sbi)
 
u32 get_free_segments (struct f2fs_sb_info *sbi)
 
void update_free_segments (struct f2fs_sb_info *sbi)
 
static void print_xattr_entry (const struct f2fs_xattr_entry *ent)
 
void print_inode_info (struct f2fs_sb_info *sbi, struct f2fs_node *node, int name)
 
void print_node_info (struct f2fs_sb_info *sbi, struct f2fs_node *node_block, int verbose)
 
void print_extention_list (struct f2fs_super_block *sb, int cold)
 
static void DISP_label (const char *name)
 
void print_sb_debug_info (struct f2fs_super_block *sb)
 
void print_raw_sb_info (struct f2fs_super_block *sb)
 
void print_chksum (struct f2fs_checkpoint *cp)
 
void print_version_bitmap (struct f2fs_sb_info *sbi)
 
void print_ckpt_info (struct f2fs_sb_info *sbi)
 
void print_cp_state (u32 flag)
 
void print_sb_state (struct f2fs_super_block *sb)
 
void print_sb_stop_reason (struct f2fs_super_block *sb)
 
void print_sb_errors (struct f2fs_super_block *sb)
 
bool f2fs_is_valid_blkaddr (struct f2fs_sb_info *sbi, block_t blkaddr, int type)
 
static block_t current_sit_addr (struct f2fs_sb_info *sbi, unsigned int start)
 
int f2fs_ra_meta_pages (struct f2fs_sb_info *sbi, block_t start, int nrpages, int type)
 
void update_superblock (struct f2fs_super_block *sb, int sb_mask)
 
static int sanity_check_area_boundary (struct f2fs_super_block *sb, enum SB_ADDR sb_addr)
 
static int verify_sb_chksum (struct f2fs_super_block *sb)
 
int sanity_check_raw_super (struct f2fs_super_block *sb, enum SB_ADDR sb_addr)
 
int validate_super_block (struct f2fs_sb_info *sbi, enum SB_ADDR sb_addr)
 
int init_sb_info (struct f2fs_sb_info *sbi)
 
static int verify_checksum_chksum (struct f2fs_checkpoint *cp)
 
static void * get_checkpoint_version (block_t cp_addr)
 
void * validate_checkpoint (struct f2fs_sb_info *sbi, block_t cp_addr, unsigned long long *version)
 
int get_valid_checkpoint (struct f2fs_sb_info *sbi)
 
bool is_checkpoint_stop (struct f2fs_super_block *sb, bool abnormal)
 
bool is_inconsistent_error (struct f2fs_super_block *sb)
 
static int f2fs_should_proceed (struct f2fs_super_block *sb, u32 flag)
 
int sanity_check_ckpt (struct f2fs_sb_info *sbi)
 
pgoff_t current_nat_addr (struct f2fs_sb_info *sbi, nid_t start, int *pack)
 
static int f2fs_early_init_nid_bitmap (struct f2fs_sb_info *sbi)
 
static int f2fs_late_init_nid_bitmap (struct f2fs_sb_info *sbi)
 
u32 update_nat_bits_flags (struct f2fs_super_block *sb, struct f2fs_checkpoint *cp, u32 flags)
 
void write_nat_bits (struct f2fs_sb_info *sbi, struct f2fs_super_block *sb, struct f2fs_checkpoint *cp, int set)
 
static int check_nat_bits (struct f2fs_sb_info *sbi, struct f2fs_super_block *sb, struct f2fs_checkpoint *cp)
 
int init_node_manager (struct f2fs_sb_info *sbi)
 
int build_node_manager (struct f2fs_sb_info *sbi)
 
int build_sit_info (struct f2fs_sb_info *sbi)
 
void reset_curseg (struct f2fs_sb_info *sbi, int type)
 
static void read_compacted_summaries (struct f2fs_sb_info *sbi)
 
static void restore_node_summary (struct f2fs_sb_info *sbi, unsigned int segno, struct f2fs_summary_block *sum_blk)
 
static void read_normal_summaries (struct f2fs_sb_info *sbi, int type)
 
void update_sum_entry (struct f2fs_sb_info *sbi, block_t blk_addr, struct f2fs_summary *sum)
 
static void restore_curseg_summaries (struct f2fs_sb_info *sbi)
 
static int build_curseg (struct f2fs_sb_info *sbi)
 
static void check_seg_range (struct f2fs_sb_info *sbi, unsigned int segno)
 
void get_current_sit_page (struct f2fs_sb_info *sbi, unsigned int segno, struct f2fs_sit_block *sit_blk)
 
void rewrite_current_sit_page (struct f2fs_sb_info *sbi, unsigned int segno, struct f2fs_sit_block *sit_blk)
 
void check_block_count (struct f2fs_sb_info *sbi, unsigned int segno, struct f2fs_sit_entry *raw_sit)
 
void __seg_info_from_raw_sit (struct seg_entry *se, struct f2fs_sit_entry *raw_sit)
 
void seg_info_from_raw_sit (struct f2fs_sb_info *sbi, struct seg_entry *se, struct f2fs_sit_entry *raw_sit)
 
struct seg_entryget_seg_entry (struct f2fs_sb_info *sbi, unsigned int segno)
 
unsigned short get_seg_vblocks (struct f2fs_sb_info *sbi, struct seg_entry *se)
 
unsigned char * get_seg_bitmap (struct f2fs_sb_info *sbi, struct seg_entry *se)
 
unsigned char get_seg_type (struct f2fs_sb_info *sbi, struct seg_entry *se)
 
struct f2fs_summary_blockget_sum_block (struct f2fs_sb_info *sbi, unsigned int segno, int *ret_type)
 
int get_sum_entry (struct f2fs_sb_info *sbi, u32 blk_addr, struct f2fs_summary *sum_entry)
 
static void get_nat_entry (struct f2fs_sb_info *sbi, nid_t nid, struct f2fs_nat_entry *raw_nat)
 
void update_data_blkaddr (struct f2fs_sb_info *sbi, nid_t nid, u16 ofs_in_node, block_t newaddr, struct f2fs_node *node_blk)
 
void update_nat_blkaddr (struct f2fs_sb_info *sbi, nid_t ino, nid_t nid, block_t newaddr)
 
void get_node_info (struct f2fs_sb_info *sbi, nid_t nid, struct node_info *ni)
 
static int build_sit_entries (struct f2fs_sb_info *sbi)
 
static int early_build_segment_manager (struct f2fs_sb_info *sbi)
 
static int late_build_segment_manager (struct f2fs_sb_info *sbi)
 
void build_sit_area_bitmap (struct f2fs_sb_info *sbi)
 
void rewrite_sit_area_bitmap (struct f2fs_sb_info *sbi)
 
int flush_sit_journal_entries (struct f2fs_sb_info *sbi)
 
int flush_nat_journal_entries (struct f2fs_sb_info *sbi)
 
void flush_journal_entries (struct f2fs_sb_info *sbi)
 
void flush_sit_entries (struct f2fs_sb_info *sbi)
 
int relocate_curseg_offset (struct f2fs_sb_info *sbi, int type)
 
void set_section_type (struct f2fs_sb_info *sbi, unsigned int segno, int type)
 
static bool write_pointer_at_zone_start (struct f2fs_sb_info *UNUSED(sbi), unsigned int UNUSED(zone_segno))
 
static void zero_journal_entries_with_type (struct f2fs_sb_info *sbi, int type)
 
int find_next_free_block (struct f2fs_sb_info *sbi, u64 *to, int left, int want_type, bool new_sec)
 
void move_one_curseg_info (struct f2fs_sb_info *sbi, u64 from, int left, int i)
 
void move_curseg_info (struct f2fs_sb_info *sbi, u64 from, int left)
 
void update_curseg_info (struct f2fs_sb_info *sbi, int type)
 
void zero_journal_entries (struct f2fs_sb_info *sbi)
 
void write_curseg_info (struct f2fs_sb_info *sbi)
 
void save_curseg_warm_node_info (struct f2fs_sb_info *sbi)
 
void restore_curseg_warm_node_info (struct f2fs_sb_info *sbi)
 
int lookup_nat_in_journal (struct f2fs_sb_info *sbi, u32 nid, struct f2fs_nat_entry *raw_nat)
 
void nullify_nat_entry (struct f2fs_sb_info *sbi, u32 nid)
 
void duplicate_checkpoint (struct f2fs_sb_info *sbi)
 
void write_checkpoint (struct f2fs_sb_info *sbi)
 
void write_checkpoints (struct f2fs_sb_info *sbi)
 
void write_raw_cp_blocks (struct f2fs_sb_info *sbi, struct f2fs_checkpoint *cp, int which)
 
void build_nat_area_bitmap (struct f2fs_sb_info *sbi)
 
static int check_sector_size (struct f2fs_super_block *sb)
 
static int tune_sb_features (struct f2fs_sb_info *sbi)
 
static struct fsync_inode_entryget_fsync_inode (struct list_head *head, nid_t ino)
 
static struct fsync_inode_entryadd_fsync_inode (struct list_head *head, nid_t ino)
 
static void del_fsync_inode (struct fsync_inode_entry *entry)
 
static void destroy_fsync_dnodes (struct list_head *head)
 
static int loop_node_chain_fix (block_t blkaddr_fast, struct f2fs_node *node_blk_fast, block_t blkaddr, struct f2fs_node *node_blk)
 
static int sanity_check_node_chain (struct f2fs_sb_info *sbi, block_t *blkaddr_fast, struct f2fs_node *node_blk_fast, block_t blkaddr, struct f2fs_node *node_blk, bool *is_detecting)
 
static int find_fsync_inode (struct f2fs_sb_info *sbi, struct list_head *head)
 
static int do_record_fsync_data (struct f2fs_sb_info *sbi, struct f2fs_node *node_blk, block_t blkaddr)
 
static int traverse_dnodes (struct f2fs_sb_info *sbi, struct list_head *inode_list)
 
static int record_fsync_data (struct f2fs_sb_info *sbi)
 
int f2fs_do_mount (struct f2fs_sb_info *sbi)
 
void f2fs_do_umount (struct f2fs_sb_info *sbi)
 
int f2fs_sparse_initialize_meta (struct f2fs_sb_info *sbi)
 

Variables

struct feature feature_table []
 
static char * stop_reason_str []
 
static char * errors_str []
 

Macro Definition Documentation

◆ ACL_GROUP

#define ACL_GROUP   (0x08)

◆ ACL_GROUP_OBJ

#define ACL_GROUP_OBJ   (0x04)

◆ ACL_MASK

#define ACL_MASK   (0x10)

◆ ACL_OTHER

#define ACL_OTHER   (0x20)

◆ ACL_UNDEFINED_TAG

#define ACL_UNDEFINED_TAG   (0x00)

mount.c

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.

◆ ACL_USER

#define ACL_USER   (0x02)

◆ ACL_USER_OBJ

#define ACL_USER_OBJ   (0x01)

◆ CHECK_PERIOD

#define CHECK_PERIOD   (3600 * 24 * 30)

Function Documentation

◆ __seg_info_from_raw_sit()

void __seg_info_from_raw_sit ( struct seg_entry se,
struct f2fs_sit_entry raw_sit 
)

◆ add_fsync_inode()

static struct fsync_inode_entry * add_fsync_inode ( struct list_head head,
nid_t  ino 
)
static

◆ build_curseg()

static int build_curseg ( struct f2fs_sb_info sbi)
static

◆ build_nat_area_bitmap()

void build_nat_area_bitmap ( struct f2fs_sb_info sbi)

◆ build_node_manager()

int build_node_manager ( struct f2fs_sb_info sbi)

◆ build_sit_area_bitmap()

void build_sit_area_bitmap ( struct f2fs_sb_info sbi)

◆ build_sit_entries()

static int build_sit_entries ( struct f2fs_sb_info sbi)
static

◆ build_sit_info()

int build_sit_info ( struct f2fs_sb_info sbi)

◆ check_block_count()

void check_block_count ( struct f2fs_sb_info sbi,
unsigned int  segno,
struct f2fs_sit_entry raw_sit 
)

◆ check_nat_bits()

static int check_nat_bits ( struct f2fs_sb_info sbi,
struct f2fs_super_block sb,
struct f2fs_checkpoint cp 
)
static

◆ check_sector_size()

static int check_sector_size ( struct f2fs_super_block sb)
static

◆ check_seg_range()

static void check_seg_range ( struct f2fs_sb_info sbi,
unsigned int  segno 
)
inlinestatic

◆ current_nat_addr()

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

◆ current_sit_addr()

static block_t current_sit_addr ( struct f2fs_sb_info sbi,
unsigned int  start 
)
inlinestatic

◆ del_fsync_inode()

static void del_fsync_inode ( struct fsync_inode_entry entry)
static

◆ destroy_fsync_dnodes()

static void destroy_fsync_dnodes ( struct list_head head)
static

◆ DISP_label()

static void DISP_label ( const char *  name)
static

◆ do_record_fsync_data()

static int do_record_fsync_data ( struct f2fs_sb_info sbi,
struct f2fs_node node_blk,
block_t  blkaddr 
)
static

◆ duplicate_checkpoint()

void duplicate_checkpoint ( struct f2fs_sb_info sbi)

◆ early_build_segment_manager()

static int early_build_segment_manager ( struct f2fs_sb_info sbi)
static

◆ 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_early_init_nid_bitmap()

static int f2fs_early_init_nid_bitmap ( struct f2fs_sb_info sbi)
static

◆ f2fs_is_valid_blkaddr()

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

◆ f2fs_late_init_nid_bitmap()

static int f2fs_late_init_nid_bitmap ( struct f2fs_sb_info sbi)
static

◆ f2fs_ra_meta_pages()

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

◆ f2fs_should_proceed()

static int f2fs_should_proceed ( struct f2fs_super_block sb,
u32  flag 
)
static

◆ f2fs_sparse_initialize_meta()

int f2fs_sparse_initialize_meta ( struct f2fs_sb_info sbi)

◆ find_fsync_inode()

static int find_fsync_inode ( struct f2fs_sb_info sbi,
struct list_head head 
)
static

◆ 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)

◆ get_checkpoint_version()

static void * get_checkpoint_version ( block_t  cp_addr)
static

◆ get_current_sit_page()

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

◆ get_free_segments()

u32 get_free_segments ( struct f2fs_sb_info sbi)

◆ get_fsync_inode()

static struct fsync_inode_entry * get_fsync_inode ( struct list_head head,
nid_t  ino 
)
static

◆ get_nat_entry()

static void get_nat_entry ( struct f2fs_sb_info sbi,
nid_t  nid,
struct f2fs_nat_entry raw_nat 
)
static

◆ get_node_info()

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

◆ get_seg_bitmap()

unsigned char * get_seg_bitmap ( struct f2fs_sb_info sbi,
struct seg_entry se 
)

◆ get_seg_entry()

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

◆ get_seg_type()

unsigned char get_seg_type ( struct f2fs_sb_info sbi,
struct seg_entry se 
)

◆ get_seg_vblocks()

unsigned short get_seg_vblocks ( struct f2fs_sb_info sbi,
struct seg_entry se 
)

◆ 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)

◆ get_valid_checkpoint()

int get_valid_checkpoint ( struct f2fs_sb_info sbi)

◆ init_node_manager()

int init_node_manager ( struct f2fs_sb_info sbi)

◆ init_sb_info()

int init_sb_info ( struct f2fs_sb_info sbi)

◆ is_checkpoint_stop()

bool is_checkpoint_stop ( struct f2fs_super_block sb,
bool  abnormal 
)

◆ is_inconsistent_error()

bool is_inconsistent_error ( struct f2fs_super_block sb)

◆ is_usable_seg()

bool is_usable_seg ( struct f2fs_sb_info UNUSEDsbi,
unsigned int   UNUSEDsegno 
)

◆ late_build_segment_manager()

static int late_build_segment_manager ( struct f2fs_sb_info sbi)
static

◆ lookup_nat_in_journal()

int lookup_nat_in_journal ( struct f2fs_sb_info sbi,
u32  nid,
struct f2fs_nat_entry raw_nat 
)

◆ loop_node_chain_fix()

static int loop_node_chain_fix ( block_t  blkaddr_fast,
struct f2fs_node node_blk_fast,
block_t  blkaddr,
struct f2fs_node node_blk 
)
static

◆ 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 
)

◆ nullify_nat_entry()

void nullify_nat_entry ( struct f2fs_sb_info sbi,
u32  nid 
)

◆ print_chksum()

void print_chksum ( struct f2fs_checkpoint cp)

◆ print_ckpt_info()

void print_ckpt_info ( struct f2fs_sb_info sbi)

◆ print_cp_state()

void print_cp_state ( u32  flag)

◆ print_extention_list()

void print_extention_list ( struct f2fs_super_block sb,
int  cold 
)

◆ 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)

◆ print_sb_debug_info()

void print_sb_debug_info ( struct f2fs_super_block sb)

◆ print_sb_errors()

void print_sb_errors ( struct f2fs_super_block sb)

◆ print_sb_state()

void print_sb_state ( struct f2fs_super_block sb)

◆ print_sb_stop_reason()

void print_sb_stop_reason ( struct f2fs_super_block sb)

◆ print_version_bitmap()

void print_version_bitmap ( struct f2fs_sb_info sbi)

◆ print_xattr_entry()

static void print_xattr_entry ( const struct f2fs_xattr_entry ent)
static

◆ read_compacted_summaries()

static void read_compacted_summaries ( struct f2fs_sb_info sbi)
static

◆ read_normal_summaries()

static void read_normal_summaries ( struct f2fs_sb_info sbi,
int  type 
)
static

◆ record_fsync_data()

static int record_fsync_data ( struct f2fs_sb_info sbi)
static

◆ relocate_curseg_offset()

int relocate_curseg_offset ( struct f2fs_sb_info sbi,
int  type 
)

◆ reset_curseg()

void reset_curseg ( struct f2fs_sb_info sbi,
int  type 
)

◆ restore_curseg_summaries()

static void restore_curseg_summaries ( struct f2fs_sb_info sbi)
static

◆ restore_curseg_warm_node_info()

void restore_curseg_warm_node_info ( struct f2fs_sb_info sbi)

◆ restore_node_summary()

static void restore_node_summary ( struct f2fs_sb_info sbi,
unsigned int  segno,
struct f2fs_summary_block sum_blk 
)
static

◆ 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)

◆ sanity_check_area_boundary()

static int sanity_check_area_boundary ( struct f2fs_super_block sb,
enum SB_ADDR  sb_addr 
)
inlinestatic

◆ sanity_check_ckpt()

int sanity_check_ckpt ( struct f2fs_sb_info sbi)

◆ sanity_check_node_chain()

static int sanity_check_node_chain ( struct f2fs_sb_info sbi,
block_t blkaddr_fast,
struct f2fs_node node_blk_fast,
block_t  blkaddr,
struct f2fs_node node_blk,
bool *  is_detecting 
)
static

◆ sanity_check_raw_super()

int sanity_check_raw_super ( struct f2fs_super_block sb,
enum SB_ADDR  sb_addr 
)

◆ save_curseg_warm_node_info()

void save_curseg_warm_node_info ( struct f2fs_sb_info sbi)

◆ seg_info_from_raw_sit()

void seg_info_from_raw_sit ( struct f2fs_sb_info sbi,
struct seg_entry se,
struct f2fs_sit_entry raw_sit 
)

◆ set_section_type()

void set_section_type ( struct f2fs_sb_info sbi,
unsigned int  segno,
int  type 
)

◆ traverse_dnodes()

static int traverse_dnodes ( struct f2fs_sb_info sbi,
struct list_head inode_list 
)
static

◆ tune_sb_features()

static int tune_sb_features ( struct f2fs_sb_info sbi)
static

◆ 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_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 
)

◆ validate_checkpoint()

void * validate_checkpoint ( struct f2fs_sb_info sbi,
block_t  cp_addr,
unsigned long long *  version 
)

◆ validate_super_block()

int validate_super_block ( struct f2fs_sb_info sbi,
enum SB_ADDR  sb_addr 
)

◆ verify_checksum_chksum()

static int verify_checksum_chksum ( struct f2fs_checkpoint cp)
static

◆ verify_sb_chksum()

static int verify_sb_chksum ( struct f2fs_super_block sb)
static

◆ 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_pointer_at_zone_start()

static bool write_pointer_at_zone_start ( struct f2fs_sb_info UNUSEDsbi,
unsigned int   UNUSEDzone_segno 
)
static

◆ 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)

◆ zero_journal_entries_with_type()

static void zero_journal_entries_with_type ( struct f2fs_sb_info sbi,
int  type 
)
static

Variable Documentation

◆ errors_str

char* errors_str[]
static
Initial value:
= {
[ERROR_CORRUPTED_CLUSTER] = "corrupted_cluster",
[ERROR_FAIL_DECOMPRESSION] = "fail_decompression",
[ERROR_INVALID_BLKADDR] = "invalid_blkaddr",
[ERROR_CORRUPTED_DIRENT] = "corrupted_dirent",
[ERROR_CORRUPTED_INODE] = "corrupted_inode",
[ERROR_INCONSISTENT_SUMMARY] = "inconsistent_summary",
[ERROR_INCONSISTENT_FOOTER] = "inconsistent_footer",
[ERROR_INCONSISTENT_SUM_TYPE] = "inconsistent_sum_type",
[ERROR_CORRUPTED_JOURNAL] = "corrupted_journal",
[ERROR_INCONSISTENT_NODE_COUNT] = "inconsistent_node_count",
[ERROR_INCONSISTENT_BLOCK_COUNT] = "inconsistent_block_count",
[ERROR_INVALID_CURSEG] = "invalid_curseg",
[ERROR_INCONSISTENT_SIT] = "inconsistent_sit",
[ERROR_CORRUPTED_VERITY_XATTR] = "corrupted_verity_xattr",
[ERROR_CORRUPTED_XATTR] = "corrupted_xattr",
[ERROR_INVALID_NODE_REFERENCE] = "invalid_node_reference",
[ERROR_INCONSISTENT_NAT] = "inconsistent_nat",
}
@ ERROR_CORRUPTED_DIRENT
Definition: f2fs_fs.h:754
@ ERROR_INCONSISTENT_FOOTER
Definition: f2fs_fs.h:757
@ ERROR_INVALID_NODE_REFERENCE
Definition: f2fs_fs.h:766
@ ERROR_INVALID_CURSEG
Definition: f2fs_fs.h:762
@ ERROR_INVALID_BLKADDR
Definition: f2fs_fs.h:753
@ ERROR_CORRUPTED_VERITY_XATTR
Definition: f2fs_fs.h:764
@ ERROR_INCONSISTENT_SUM_TYPE
Definition: f2fs_fs.h:758
@ ERROR_INCONSISTENT_SIT
Definition: f2fs_fs.h:763
@ ERROR_INCONSISTENT_NODE_COUNT
Definition: f2fs_fs.h:760
@ ERROR_CORRUPTED_XATTR
Definition: f2fs_fs.h:765
@ ERROR_CORRUPTED_INODE
Definition: f2fs_fs.h:755
@ ERROR_CORRUPTED_JOURNAL
Definition: f2fs_fs.h:759
@ ERROR_INCONSISTENT_NAT
Definition: f2fs_fs.h:767
@ ERROR_INCONSISTENT_SUMMARY
Definition: f2fs_fs.h:756
@ ERROR_FAIL_DECOMPRESSION
Definition: f2fs_fs.h:752
@ ERROR_CORRUPTED_CLUSTER
Definition: f2fs_fs.h:751
@ ERROR_INCONSISTENT_BLOCK_COUNT
Definition: f2fs_fs.h:761

◆ feature_table

struct feature feature_table[]
extern

◆ stop_reason_str

char* stop_reason_str[]
static
Initial value:
= {
[STOP_CP_REASON_SHUTDOWN] = "shutdown",
[STOP_CP_REASON_FAULT_INJECT] = "fault_inject",
[STOP_CP_REASON_META_PAGE] = "meta_page",
[STOP_CP_REASON_WRITE_FAIL] = "write_fail",
[STOP_CP_REASON_CORRUPTED_SUMMARY] = "corrupted_summary",
[STOP_CP_REASON_UPDATE_INODE] = "update_inode",
[STOP_CP_REASON_FLUSH_FAIL] = "flush_fail",
[STOP_CP_REASON_NO_SEGMENT] = "no_segment",
[STOP_CP_REASON_CORRUPTED_FREE_BITMAP] = "corrupted_free_bitmap",
}
@ STOP_CP_REASON_FAULT_INJECT
Definition: f2fs_fs.h:736
@ STOP_CP_REASON_CORRUPTED_SUMMARY
Definition: f2fs_fs.h:739
@ STOP_CP_REASON_SHUTDOWN
Definition: f2fs_fs.h:735
@ STOP_CP_REASON_UPDATE_INODE
Definition: f2fs_fs.h:740
@ STOP_CP_REASON_NO_SEGMENT
Definition: f2fs_fs.h:742
@ STOP_CP_REASON_CORRUPTED_FREE_BITMAP
Definition: f2fs_fs.h:743
@ STOP_CP_REASON_WRITE_FAIL
Definition: f2fs_fs.h:738
@ STOP_CP_REASON_FLUSH_FAIL
Definition: f2fs_fs.h:741
@ STOP_CP_REASON_META_PAGE
Definition: f2fs_fs.h:737