首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
f2fs专题
F2FS源码分析-6.6 [其他重要数据结构以及函数] F2FS的重命名过程-f2fs_rename函数
F2FS源码分析系列文章 主目录 一、文件系统布局以及元数据结构 二、文件数据的存储以及读写 三、文件与目录的创建以及删除(未完成) 四、垃圾回收机制 五、数据恢复机制 六、重要数据结构或者函数的分析 f2fs_summary的作用f2fs_journal的作用f2fs_map_block的作用get_dnode_of_data的作用get_node_page的作用(未完成)
阅读更多...
F2FS源码分析系列文章目录
一、文件系统布局以及元数据结构 总体结构Superblock区域Checkpoint区域Segment Infomation Table区域(SIT)Node Address Table区域(NAT)Segment Summary Area区域(SSA) 二、文件数据的存储以及读写 F2FS文件数据组织方式一般文件写流程一般文件读流程目录文件写流程(未完成)目录文件读流程(未完成) 三、文
阅读更多...
F2FS源码分析-6.2 [其他重要数据结构以及函数] f2fs_journal的作用
F2FS源码分析系列文章 主目录 一、文件系统布局以及元数据结构 二、文件数据的存储以及读写 三、文件与目录的创建以及删除(未完成) 四、垃圾回收机制 五、数据恢复机制 六、重要数据结构或者函数的分析 f2fs_summary的作用f2fs_journal的作用f2fs_map_block的作用get_dnode_of_data的作用get_node_page的作用(未完成)
阅读更多...
F2FS源码分析-6.1 [其他重要数据结构以及函数] f2fs_summary的作用
F2FS源码分析系列文章 主目录 一、文件系统布局以及元数据结构 二、文件数据的存储以及读写 三、文件与目录的创建以及删除(未完成) 四、垃圾回收机制 五、数据恢复机制 六、重要数据结构或者函数的分析 f2fs_summary的作用f2fs_journal的作用f2fs_map_block的作用get_dnode_of_data的作用get_node_page的作用(未完成)
阅读更多...
F2FS源码分析-1.5 [F2FS 元数据布局部分] Node Address Table-NAT结构
F2FS源码分析系列文章 主目录 一、文件系统布局以及元数据结构 总体结构Superblock区域Checkpoint区域Segment Infomation Table区域(SIT)Node Address Table区域(NAT)Segment Summary Area区域(SSA) 二、文件数据的存储以及读写 三、文件与目录的创建以及删除(未完成) 四、垃圾回收机制 五、数
阅读更多...
centos7支持f2fs
参考:查看Linux支持的文件系统 centos7.3,内核版本3.10不支持f2fs 于是升级之: centos7 升级内核 导入elrepo的key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安装elrepo源 rpm -Uvh http://www.elrepo.org/elrepo-rele
阅读更多...
ZNS SSD+F2FS文件系统|如何降低GC开销?--2
在F2FS(Flash-Friendly File System)中,Over-provisioning,OP配置是一种优化策略,旨在通过预留一部分存储空间不分配给用户使用,以提升文件系统的性能、耐用性和可靠性。在F2FS与ZNS SSD的结合中,OP策略得到了进一步优化。由于ZNS SSD具有固定的区域(zone)大小和顺序写入特性,F2FS能够更加精确地管理OP配置空间,以适应ZNS特有的存储
阅读更多...
f2fs nat/sit area存储格式及current_nat_addr
f2fs为了保护元数据的有效性及可恢复性,每个无数据区域均包含两个复本,如两个super block, 两个check point segments, 对于nat及sit area,同样也包含两份。 对于nat area的存储方式,一直以来,都以为是先存一份,再存储另一份,类似于这种结构: 所以,对于current_nat_addr函数,一直无法理解代码实现的原理是什么。 今天偶然看了一
阅读更多...
f2fs write_checkpoint 过程分析
write_checkpoint 主要负责把 cache中dirty的数据写回到磁盘中,在gc, trim, discard或者recovery的时候都会调用到。 int write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc){struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi)
阅读更多...
f2fs get_node_path 函数过程分析
f2fs中比较有趣的一个函数get_node_path(), 想要理解这个函数,需要对f2fs node及node中能够索引的地址理解清楚,先看一下f2fs inode的结构: 4KB * (923 + 2 * 1018 + 2 * 1018 * 1018 + 1018 * 1018 * 1018) := 3.94TB. Inode block (4KB) |- data
阅读更多...
f2fs mkfs格式化系列3
前面讲了f2fs格式化主要进行了哪些操作,本篇看一下,mount过程中是如何读取格式化写到磁盘的那些内容的。 主要说一下如果读取f2fs meta data这些信息,mount过程还有一些比较重要的步骤,像build node management, build sit management后面会分开仔细再说。 static int f2fs_fill_super(struct super_
阅读更多...
【SA8295P 源码分析】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS
【SA8295P 源码分析】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS 一、代码修改方法1. BoardConfig.mk2. 修改 fstab 二、开机进入 adb 验证2.1 验证 userdata 修改 f2fs 文件系统格式成功2.2 测试 f2fs 文件系统性能:androbench.apk2.3 f2fs 文件系统性能 和 ext
阅读更多...
【SA8295P 源码分析】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS
【SA8295P 源码分析】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS 一、代码修改方法1. BoardConfig.mk2. 修改 fstab 二、开机进入 adb 验证2.1 验证 userdata 修改 f2fs 文件系统格式成功2.2 测试 f2fs 文件系统性能:androbench.apk 系列文章汇总见:《【S
阅读更多...