一、文件系统布局以及元数据结构
  1. 总体结构
  2. Superblock区域
  3. Checkpoint区域
  4. Segment Infomation Table区域(SIT)
  5. Node Address Table区域(NAT)
  6. Segment Summary Area区域(SSA)
二、文件数据的存储以及读写
  1. F2FS文件数据组织方式
  2. 一般文件写流程
  3. 一般文件读流程
  4. 目录文件写流程(未完成)
  5. 目录文件读流程(未完成)
三、文件与目录的创建以及删除(未完成)
  1. 一般文件的创建(未完成)
  2. 一般目录的创建(未完成)
  3. 一般文件的删除(未完成)
  4. 一般目录的删除(未完成)
四、垃圾回收机制
  1. 垃圾回收流程分析
  2. Victim Segment的选择策略
五、数据恢复机制
  1. 数据恢复的原理以及方式
  2. 后滚恢复和Checkpoint的作用与实现
  3. 前滚恢复和Recovery的作用与实现(未完成)
六、重要数据结构或者函数的分析
  1. f2fs_summary的作用
  2. f2fs_journal的作用
  3. f2fs_map_block的作用
  4. f2fs_get_dnode_of_data的作用
  5. get_node_page的作用(未完成)

如果觉得这些源码分析能够帮你更了解F2FS, 请star这个F2FS-源码分析仓库,非常感谢。

F2FS源码分析系列文章目录相关推荐

  1. MyBatis 源码分析系列文章合集

    1.简介 我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章.起初,我只是打算通过博客的形式进行分享.但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大.在这7篇文章 ...

  2. Spring IOC 容器源码分析系列文章导读 1

    1. 简介 Spring 是一个轻量级的企业级应用开发框架,于 2004 年由 Rod Johnson 发布了 1.0 版本.经过十几年的迭代,现在的 Spring 框架已经非常成熟了.Spring ...

  3. MyBatis 源码分析系列文章导读

    1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...

  4. Spring IOC 容器源码分析系列文章导读

    1. 简介 前一段时间,我学习了 Spring IOC 容器方面的源码,并写了数篇文章对此进行讲解.在写完 Spring IOC 容器源码分析系列文章中的最后一篇后,没敢懈怠,趁热打铁,花了3天时间阅 ...

  5. MyBatis 源码分析系列文章导读 1

    1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...

  6. GDB 源码分析系列文章五:动态库延迟断点实现机制

    系列文章: GDB 源码分析系列文章一:ptrace 系统调用和事件循环(Event Loop) GDB 源码分析系列文章二:gdb 主流程 Event Loop 事件处理逻辑详解 GDB 源码分析系 ...

  7. F2FS源码分析-1.4 [F2FS 元数据布局部分] Segment Infomation Table-SIT结构

    F2FS源码分析系列文章 主目录 一.文件系统布局以及元数据结构 总体结构 Superblock区域 Checkpoint区域 Segment Infomation Table区域(SIT) Node ...

  8. F2FS源码分析-1.6 [F2FS 元数据布局部分] Segment Summary Area-SSA结构

    F2FS源码分析系列文章 主目录 一.文件系统布局以及元数据结构 总体结构 Superblock区域 Checkpoint区域 Segment Infomation Table区域(SIT) Node ...

  9. F2FS源码分析-2.2 [F2FS 读写部分] F2FS的一般文件写流程分析

    F2FS源码分析系列文章 主目录 一.文件系统布局以及元数据结构 二.文件数据的存储以及读写 F2FS文件数据组织方式 一般文件写流程 一般文件读流程 目录文件读流程(未完成) 目录文件写流程(未完成 ...

最新文章

  1. C++中public、protect和private用法区别
  2. dig linux下的使用
  3. 联想笔记本计算机服务在哪里,北京联想电脑服务站都在哪里?我在宣武门应当到哪里去修电脑呢?(高额悬赏 )...
  4. OSError: [WinError 126] 找不到指定的模块————Shapely
  5. 【PAT乙级】1084 外观数列 (20 分)
  6. 华工软院17级“软件需求分析”课程大作业
  7. jdbc连接数据scanip_java数据库连接_jdbc
  8. 反思快速在新项目中找字段的方法
  9. POJ - 3565 Ants(二分图最小权匹配+KM+思维)
  10. CentOS设置ssh密钥登录
  11. .Net中常用的几种ActionResult
  12. 微型计算机原理聂伟荣,微型计算机原理与应用 聂伟荣 第十章 串行通信技术 课件.pdf...
  13. itextPdf pdf加水印
  14. oracle怎么看日志文件,Oracle日志文件的管理与查看
  15. 超爆笑:《无极》漫画版
  16. Linux下串口编程
  17. Python,安装selenium教程
  18. 【springcloud gateway诡异间歇性500异常解决】500 Server Error,ConcurrentModificationException: null
  19. 远程打开ubuntu摄像头
  20. C语言三子棋游戏实现(基础版)

热门文章

  1. 算法工程师-机器学习-数据科学家面试准备[外企和国外公司、春招、秋招]
  2. 多语种互译批量中英文翻译插件
  3. ZLib的数据压缩和解压缩
  4. 周志华机器学习——聚类算法。
  5. 东方财富板块资金python抓取
  6. 吴恩达:回顾2021,这些大事件影响了AI这一年
  7. 国内“孩子青春期”图书中的iPhone:正写书的程序员爸爸点评《拆解青春期女孩的小心事》
  8. 【Python】京东消费行为数据分析可视化实战案例
  9. 利用python进行保险数据分析及可视化
  10. Qt在 Mac系统发布程序(widgets和quick2)生成dmg安装文件。