f2fs学习笔记 - 5. f2fs基本类图

在这里插入图片描述

  • f2fs_nat_entry
    f2fs node address table entry, 可以认为是main area区域的node block的描述符。version?
    ino为node所对应的inode number,block_addr为node block的索引(这个索引是从CP区域开始计数吗?)
    f2fs_nat_entry的作用就是根据nid来查找对应的node block的块号,通过nid也可以确定其所属的ino, 进而找到对应的f2fs_inode

  • f2fs_nat_block
    node address table区域的一个block,一个f2fs nat block包含有NAT_ENTRY_PER_BLOCK个f2fs nat entry

  • nat_journal_entry
    用于记录一个f2fs nat entry日志,nid为node block id(从main area开始计数?)

  • nat_journal
    包含了NAT_JOURNAL_ENTRIES个nat_journal_entry

  • f2fs_sit_entry
    f2fs segment info table entry, 可以认为是对main area区域一个segment的描述符
    vblocks的低10位包含了一个segment中有效block的数目,高6位包含了segment的类型,node or data;mtime记录了segment的年龄,也就是子上次清理以来到现在的时间

  • f2fs_sit_block
    segment info table区域的一个block, 一个f2fs sit block包含有SIT_ENTRY_PER_BLOCK个f2fs sit entry

  • sit_journal_entry
    用于记录一个f2fs sit entry日志,segno为segment 的索引号

  • sit_journal
    包含了SIT_JOURNAL_ENTRIES个sit_journal_entry

  • f2fs_summary
    一个summary entry对应segment中一个4K大小的block.它主要用来描述main area区域的node segment。其中nid成员用于表示node block的id, version用于表示node的版本号?ofs_in_node为parent node的block index

  • summary_footer
    主要对f2fs_summary_block进行一些脚注说明,其中entry_type表示为SUM_TYPE_NODE/SUM_TYPE_DATA,可以看出一个segment要么是node,要么data

  • f2fs_summary_block
    包含了ENTRIES_IN_SUM(512)个f2fs_summary, 因此一个f2fs_summary_block与一个segment相对应。它既可以是对nat segment的summary描述,也可以是对sit segment区域的描述,通过union来指定。f2fs_summary_block的空闲区域会用来存放sit_journal或sit_journal;footer是对当前segment的注释

  • seg_entry
    是对segment的描述符(针对main area?);valid_blocks表示segment的有效block数目,cur_valid_map为有效block的bitmap;ckpt_valid_blocks为存储在cp区域的有效block数目,ckpt_valid_map为存储在cp区域的有效block的bitmap;type为segment的类型(cold data/hot data/cold node / hot node…);mtime为segment的最后修改时间

  • sit_info
    描述了整个segment info table 的信息(只针对main area?)

参考资料

  1. https://blog.csdn.net/sunwukong54/article/details/45669017
    f2fs的journal机制
    2.https://github.com/RiweiPan/F2FS-NOTES/blob/master/Outline.md
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值