f2fs原始碼解析 五 node管理結構梳理

2022-04-14 00:46:21 字數 568 閱讀 3221

node是f2fs重要的管理結構, 它非常重要! 系統掛載完畢後, 會有乙個f2fs_nm_info結構的node管理器來管理node的分配. f2fs_nm_info中最讓人疑惑的是幾顆基數樹:

490

struct

f2fs_nm_info ;

三棵基數樹分別是: nat_root, nat_set_root, free_nid_root;

首先, 對於整個node管理器來說, 乙個核心的結構體是node_info:

46

struct

node_info ; 53

54struct

nat_entry ;

發現node_info和f2fs_nat_entry【磁碟上的儲存】長得太像了, 甚至比 struct

f2fs_nat_entry 還要多出來乙個flag 位來表示這個節點的一些屬性!

266 struct f2fs_nat_entry  __packed;

這個core資料結構被兩個結構控制:乙個是基數樹【負責索引】,乙個是鍊錶。

模組化編譯F2FS

二 編譯完成後,把f2fs的整個目錄拷貝出來,進入目錄,修改makefile檔案,主要就是新增相關路徑,如下 obj config f2fs fs f2fs.o f2fs y dir.o file.o inode.o namei.o hash.o super.o inline.o f2fs y ch...

Android檔案系統之爭 F2FS和EXT4

f2fs 全稱為 flash friendly file system,是一種較為新型的支援 linux 核心使用的檔案系統。最早是由三星在2012年研發設計的,其目的就是為了更好的適應 nand 一類的快閃儲存器裝置 例如固態硬碟 emmc和sd卡等 在 f2fs 中三星應用了日誌結構檔案系統的概...

TFS原始碼解析五

nameserver中 ns define.h ifndef tfs nameserver define h define tfs nameserver define h include 訊號量標頭檔案 include tfs依賴的 tbsys 標頭檔案 include common interna...