格式化文件系统详见:挂载F2FS
创建两个文件,分别为100M和1000M。在上面分别挂载F2FS文件系统,使用dump命令查看内容。
条目 | 100MB | 1000MB | 说明 |
---|---|---|---|
magic | [0xf2f52010 : 4076150800] | [0xf2f52010 : 4076150800] | magic number,这个是固定值0xf2f52010 |
major_ver | [0x 1 : 1] | [0x1 : 1] | |
volum_name | [] | [] | |
minor_ver | [0x10 : 16] | [0x10 : 16] | |
log_sectorsize | [0x9 : 9] | [0x9 : 9] | |
log_sectors_per_block | [0x3 : 3] | [0x 3 : 3] | |
log_blocksize | [0xc : 12] | [0xc : 12] | |
log_blocks_per_seg | [0x9 : 9] | [0x 9 : 9] | |
segs_per_sec | [0x1 : 1] | [0x1 : 1] | 每个section中保存1个segment |
secs_per_zone | [0x1 : 1] | [0x1 : 1] | 每个zone中保存1个section |
checksum_offset | [0x0 : 0] | [0x 0 : 0] | |
block_count | [0x6400 : 25600] | [0x3e800 : 256000] | block数量,每个block的size为4K,所以 256004K=100MB 2560004K=1000MB 这里的blocks数量是整个空间的大小,包括superblock/SIT/NAT/SSA/MAIN等 |
section_count | [0x2a : 42] | [0x1ea : 490] | main area section数量 42=50-1(sb)-2(cp)-2(sit)-2(nat)-1(ssa) 490=500-1(sb)-2(cp)-2(sit)-4(nat)-1(ssa) |
segment_count | [0x31 : 49] | [0xf3 : 499] | segment数量,应该不包含superblock(2MB) 492MB=98MB=100MB-2MB 4992MB=998MB=1000MB-2MB |
segment_count_ckpt | [0x2 : 2] | [0x2 : 2] | check point的segment数量,固定为2个segment |
segment_count_sit | [0x2 : 2] | [0x 2 : 2] | segment info table的segment数量,固定为2个segment |
segment_count_nat | [0x2 : 2] | [0x4 : 4] | node address table的segment数量。这个数量后面计算一下 |
segment_count_ssa | [0x1 : 1] | [0x1 : 1] | segment summary area的segment数量 |
segment_count_main | [0x2a : 42] | [0x1ea : 490] | 和上面section计算方式一样 main area segment数量 42=50-1(sb)-2(cp)-2(sit)-2(nat)-1(ssa) 490=500-1(sb)-2(cp)-2(sit)-4(nat)-1(ssa) |
segment0_blkaddr | [0x200 : 512] | [0x200 : 512] | segment0的blkaddr地址,上面计算可以看出来blkaddr从地址0开始的,segment数量是不包含superblock的,所以这里从512*4K=2MB开始计算 |
cp_blkaddr | [0x200 : 512] | [0x200 : 512] | cp的起始block位置,这个也好计算,就是2MB开始的地方 512*4K=2MB |
sit_blkaddr | [0x600 : 1536] | [0x600 : 1536] | sit起始位置,应该固定为6MB 15364K=6MB=2MB(superblock)+22MB(cp) |
nat_blkaddr | [0xa00 : 2560] | [0xa00 : 2560] | node address table起始位置,目前应该是 25604K=10MB=2MB(superblock)+22MB(cp)+2*2MB(SIT) |
ssa_blkaddr | [0xe00 : 3584] | [0x1200 : 4608] | segment summary area起始地址,由于前面nat数量有差异,所以这里计算的起始地址就有差异了 100MB:35844K=14MB=2MB(superblock)+22MB(cp)+22MB(SIT)+22MB(NAT) 1000MB:46084K=18MB=2MB(superblock)+22MB(cp)+22MB(SIT)+42MB(NAT) |
main_blkaddr | [0x1000 : 4096] | [0x1400 : 5120] | main area起始的blk地址 计算方式就是把前面的加起来 100MB:40964K=16MB=2MB(superblock)+22MB(cp)+22MB(SIT)+22MB(NAT)+12MB(SSA) 1000MB:51204K=20MB=2MB(superblock)+22MB(cp)+22MB(SIT)+42MB(NAT)+12MB(SSA) |
root_ino | [0x3 : 3] | [0x 3 : 3] | 对应的一些ino编号,后面再详细介绍 root_ino=3 |
node_ino | [0x1 : 1] | [0x1 : 1] | node_ino=1 |
meta_ino | [0x2 : 2] | [0x2 : 2] | meta_ino=2 |
cp_payload | [0x0 : 0] | [0x0 : 0] | |
crc | [0x0 : 0] | [0x 0 : 0] | |
version | 5.15.119-qki-consolidate-android13-8-o-03186-g42a55cce9ac3 | 5.15.119-qki-consolidate-android13-8-o-03186-g42a55cce9ac3 | 版本信息 |
Th[0] Info: | Segments per section = 1 | Segments per section = 1 | section包含的segment数量,每个section包含1个segment |
Th[0] Info: | Sections per zone = 1 | Sections per zone = 1 | zone包含的section数量,每个zone包含1个section |
Th[0] Info: | total FS sectors = 204800 (100 MB) | total FS sectors = 2048000 (1000 MB) | 总大小数量 |
Th[0] Info: | CKPT version = 4009c261 | CKPT version = 5b4bb5b1 | cp版本信息 |