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_inodef2fs_nat_block
node address table区域的一个block,一个f2fs nat block包含有NAT_ENTRY_PER_BLOCK个f2fs nat entrynat_journal_entry
用于记录一个f2fs nat entry日志,nid为node block id(从main area开始计数?)nat_journal
包含了NAT_JOURNAL_ENTRIES个nat_journal_entryf2fs_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 entrysit_journal_entry
用于记录一个f2fs sit entry日志,segno为segment 的索引号sit_journal
包含了SIT_JOURNAL_ENTRIES个sit_journal_entryf2fs_summary
一个summary entry对应segment中一个4K大小的block.它主要用来描述main area区域的node segment。其中nid成员用于表示node block的id, version用于表示node的版本号?ofs_in_node为parent node的block indexsummary_footer
主要对f2fs_summary_block进行一些脚注说明,其中entry_type表示为SUM_TYPE_NODE/SUM_TYPE_DATA,可以看出一个segment要么是node,要么dataf2fs_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?)
参考资料
- https://blog.csdn.net/sunwukong54/article/details/45669017
f2fs的journal机制
2.https://github.com/RiweiPan/F2FS-NOTES/blob/master/Outline.md
f2fs学习笔记 - 5. f2fs基本类图相关推荐
- f2fs学习笔记 - 2. f2fs基础实验环境搭建
1.前言 本文主要记录如何搭建f2fs的环境,用于f2fs文件系统的学习.我们选用了f2fs第一个补丁提交前的内核版本:linux3.7.0.然后通过提取出f2fs的最小补丁来学习f2fs文件系统,这 ...
- f2fs学习笔记 -11. f2fs gc
1.前言 GC分为前台GC和后台GC 2.总体流程 f2fs_fill_superstart_gc_thread(sbi)init_waitqueue_head(&sbi->gc_thr ...
- f2fs学习笔记 - 7. f2fs文件打开
1. 前言 本文主要总结f2fs文件的打开过程,以touch test为例 2.打开文件总体流程 在打开文件时,获取了file描述符,创建了file, 而file->op_s来源于file所对应 ...
- f2fs学习笔记 - 6. f2fs初始化流程
1.前言 初始流程主要包含f2fs文件系统初始化,以及f2fs文件系统mount 2. init_f2fs_fs init_inodecache 创建f2fs_inode_cache slab描述符 ...
- f2fs学习笔记 -10. f2fs fsync
kernel:linux3.17 fs: f2fs初始版本 1.前言 本文主要记录f2fs fsync的流程. 2.总体流程 do_fsyncfget(fd)vfs_fsync(file, file- ...
- Redis运维和开发学习笔记-全书思维导图
Redis运维和开发学习笔记-全书思维导图 图片过大,无法上传. 链接:https://pan.baidu.com/s/13pnEMBEdLgjZNOOEAuDvEQ 密码:qhch
- 数据治理专业认证CDMP学习笔记(思维导数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第11章数据仓库和商务智能篇...
大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...
- 数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第八章数据集成和互操作篇...
大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人.在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知识. 数据治理 ...
- Building Worlds In Unreal 学习笔记——03-06 地形贴图/地形材质/修正重复/近景位移
Building Worlds In Unreal 学习笔记--03-06 地形贴图/地形材质/修正重复/近景位移 Lec03 地形贴图 Landscape Textures 1 Quixel Bri ...
最新文章
- FPS武器设计:丹威森500型左轮手枪的制作流程
- SAP Spartacus 服务器端渲染单步调试步骤之一:应用程序准备工作
- mysql从库应用负载_线上MySQL数据库高负载的解决思路--再次论程序应用索引的重要性...
- 1982:【19CSPJ普及组】数字游戏
- UE3 Lightmass 工具
- 汇编代码调用main和分配内存
- C语言学习笔记---strlen()函数和sizeof()函数
- 数学分析笔记—python基础语法
- 【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
- centos6.5最小化安装
- 机器学习第三回——正则化部分
- CSDN-markdown编辑器使用
- Hbase、Kudu和ClickHouse横向对比V2.0
- Oracle自增序列字段
- java实现ppt转图片、ppt转pdf
- UPC6615: Snuke Festival
- export default (imported as router) was not found_一篇文章搞定as四大用法
- 2022-2028全球及中国云端税务软件行业研究及十四五规划分析报告
- c/c++通过域名解析ip地址
- 中国科学院沈阳计算技术研究所考研问题
热门文章
- 绘图工具Origin Pro 2022在Win10系统下的安装使用
- 安卓系统安全学习小结(二)
- 我的世界java下载慢怎么办_MC国际版的下载教程
- 小队pkc++_骑士小队2人金属第一印象
- 计算机配置高低怎么看,电脑配置高低怎么判断的小技巧分享给大家
- Windows独享主机网站访问缓慢的原因和解决方法
- golang zip压缩/解压缩用法
- JAVA学习网址大全
- CVPR2018 CartoonGAN 解读
- [Place 30-51] IDELAYCTRL elements have been found to be associated with IODELAY_GROUP ‘CAMERALINK‘,