Android-cuttlefish cvd tool
Macros | Functions | Variables
f2fs_format.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>
#include <f2fs_fs.h>
#include <assert.h>
#include <stdbool.h>
#include <time.h>
#include "quota.h"
#include "f2fs_format_utils.h"
Include dependency graph for f2fs_format.c:

Macros

#define uuid_parse(a, b)   -1
 
#define uuid_generate(a)
 
#define uuid_unparse(a, b)   -1
 
#define GET_SEGNO(blk_addr)
 
#define START_BLOCK(segno)   (segno * c.blks_per_seg + get_sb(main_blkaddr))
 
#define last_section(cur)   (cur + (c.secs_per_zone - 1) * c.segs_per_sec)
 
#define mkfs_time   ((c.fixed_time == -1) ? time(NULL) : c.fixed_time)
 

Functions

static bool device_is_aliased (unsigned int dev_num)
 
static unsigned int target_device_index (uint64_t blkaddr)
 
static uint32_t next_zone (int seg_type)
 
static uint32_t last_zone (uint32_t total_zone)
 
static bool is_extension_exist (const char *name)
 
static void cure_extension_list (void)
 
static void verify_cur_segs (void)
 
static int f2fs_prepare_super_block (void)
 
static int f2fs_init_sit_area (void)
 
static int f2fs_init_nat_area (void)
 
static int f2fs_write_check_point_pack (void)
 
static int f2fs_write_super_block (void)
 
static int f2fs_discard_obsolete_dnode (void)
 
static block_t alloc_next_free_block (int curseg_type)
 
void update_sit_journal (int curseg_type)
 
void update_nat_journal (nid_t nid, block_t blkaddr)
 
void update_summary_entry (int curseg_type, nid_t nid, unsigned short ofs_in_node)
 
static void add_dentry (struct f2fs_dentry_block *dent_blk, unsigned int *didx, const char *name, uint32_t ino, u8 type)
 
static block_t f2fs_add_default_dentry_root (void)
 
static int f2fs_write_root_inode (void)
 
static int f2fs_write_default_quota (int qtype, __le32 raw_id)
 
static int f2fs_write_qf_inode (int qtype)
 
static int f2fs_update_nat_default (void)
 
static block_t f2fs_add_default_dentry_lpf (void)
 
static int f2fs_write_lpf_inode (void)
 
static void allocate_blocks_for_aliased_device (struct f2fs_node *raw_node, unsigned int dev_num)
 
static int f2fs_write_alias_inodes (void)
 
static int f2fs_create_root_dir (void)
 
int f2fs_format_device (void)
 

Variables

struct f2fs_configuration c
 
struct f2fs_super_block raw_sb
 
struct f2fs_super_blocksb = &raw_sb
 
struct f2fs_checkpointcp
 
const char * media_ext_lists []
 
const char * hot_ext_lists []
 
const char ** default_ext_list []
 

Macro Definition Documentation

◆ GET_SEGNO

#define GET_SEGNO (   blk_addr)
Value:
((blk_addr - get_sb(main_blkaddr)) / \
struct f2fs_configuration c
Definition: libf2fs_io.c:47
__le32 main_blkaddr
Definition: f2fs_fs.h:24
#define get_sb(member)
Definition: f2fs_fs.h:550
uint32_t blks_per_seg
Definition: f2fs_fs.h:1542

◆ last_section

#define last_section (   cur)    (cur + (c.secs_per_zone - 1) * c.segs_per_sec)

◆ mkfs_time

#define mkfs_time   ((c.fixed_time == -1) ? time(NULL) : c.fixed_time)

◆ START_BLOCK

#define START_BLOCK (   segno)    (segno * c.blks_per_seg + get_sb(main_blkaddr))

◆ uuid_generate

#define uuid_generate (   a)

◆ uuid_parse

#define uuid_parse (   a,
 
)    -1

f2fs_format.c

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

Dual licensed under the GPL or LGPL version 2 licenses.

◆ uuid_unparse

#define uuid_unparse (   a,
 
)    -1

Function Documentation

◆ add_dentry()

static void add_dentry ( struct f2fs_dentry_block dent_blk,
unsigned int *  didx,
const char *  name,
uint32_t  ino,
u8  type 
)
static

◆ alloc_next_free_block()

static block_t alloc_next_free_block ( int  curseg_type)
static

◆ allocate_blocks_for_aliased_device()

static void allocate_blocks_for_aliased_device ( struct f2fs_node raw_node,
unsigned int  dev_num 
)
static

◆ cure_extension_list()

static void cure_extension_list ( void  )
static

◆ device_is_aliased()

static bool device_is_aliased ( unsigned int  dev_num)
inlinestatic

◆ f2fs_add_default_dentry_lpf()

static block_t f2fs_add_default_dentry_lpf ( void  )
static

◆ f2fs_add_default_dentry_root()

static block_t f2fs_add_default_dentry_root ( void  )
static

◆ f2fs_create_root_dir()

static int f2fs_create_root_dir ( void  )
static

◆ f2fs_discard_obsolete_dnode()

static int f2fs_discard_obsolete_dnode ( void  )
static

◆ f2fs_format_device()

int f2fs_format_device ( void  )

◆ f2fs_init_nat_area()

static int f2fs_init_nat_area ( void  )
static

◆ f2fs_init_sit_area()

static int f2fs_init_sit_area ( void  )
static

◆ f2fs_prepare_super_block()

static int f2fs_prepare_super_block ( void  )
static

◆ f2fs_update_nat_default()

static int f2fs_update_nat_default ( void  )
static

◆ f2fs_write_alias_inodes()

static int f2fs_write_alias_inodes ( void  )
static

◆ f2fs_write_check_point_pack()

static int f2fs_write_check_point_pack ( void  )
static

◆ f2fs_write_default_quota()

static int f2fs_write_default_quota ( int  qtype,
__le32  raw_id 
)
static

◆ f2fs_write_lpf_inode()

static int f2fs_write_lpf_inode ( void  )
static

◆ f2fs_write_qf_inode()

static int f2fs_write_qf_inode ( int  qtype)
static

◆ f2fs_write_root_inode()

static int f2fs_write_root_inode ( void  )
static

◆ f2fs_write_super_block()

static int f2fs_write_super_block ( void  )
static

◆ is_extension_exist()

static bool is_extension_exist ( const char *  name)
static

◆ last_zone()

static uint32_t last_zone ( uint32_t  total_zone)
inlinestatic

◆ next_zone()

static uint32_t next_zone ( int  seg_type)
inlinestatic

◆ target_device_index()

static unsigned int target_device_index ( uint64_t  blkaddr)
inlinestatic

◆ update_nat_journal()

void update_nat_journal ( nid_t  nid,
block_t  blkaddr 
)

◆ update_sit_journal()

void update_sit_journal ( int  curseg_type)

◆ update_summary_entry()

void update_summary_entry ( int  curseg_type,
nid_t  nid,
unsigned short  ofs_in_node 
)

◆ verify_cur_segs()

static void verify_cur_segs ( void  )
static

Variable Documentation

◆ c

struct f2fs_configuration c
extern

◆ cp

struct f2fs_checkpoint* cp

◆ default_ext_list

const char** default_ext_list[]
Initial value:
= {
}
const char * hot_ext_lists[]
Definition: f2fs_format.c:158
const char * media_ext_lists[]
Definition: f2fs_format.c:104

◆ hot_ext_lists

const char* hot_ext_lists[]
Initial value:
= {
"db",
"vmdk",
"vdi",
"qcow2",
NULL
}

◆ media_ext_lists

const char* media_ext_lists[]

◆ raw_sb

struct f2fs_super_block raw_sb

◆ sb

struct f2fs_super_block* sb = &raw_sb