image.png

超级块(Superblock)存放在F2FS文件系统的起始位置,这样挂载后不用寻址就能直接读到超级块。

超级块区域包含两个struct f2fs_super_block,互为备份。

超级块区域的大小为2M,其中前1K留空,每个超级块占4K,后面留空。

image.png

超级块的数据结构

文件系统相关的数据结构通常都有三个:盘上的、内存中文件系统专属的和内存中vfs使用的。

盘上数据结构struct f2fs_super_block

f2fs_super_block中的主要内容有:

详见:f2fs_super_block详解

内存管理结构f2fs_sb_info

f2fs_sb_info是内存中用于管理超级块的结构。

在挂载文件系统时,通过init_sb_info将f2fs_super_block中的数据填入f2fs_sb_info中。

包含vfs superblock指针、f2fs_super_block指针以及锁、SIT、NAT对应的内存管理结构等。

vfs superblock结构

详见:(待写)vfs中的超级块

未列出的参考资料