node是f2fs重要的管理結構, 它非常重要! 系統掛載完畢後, 會有乙個f2fs_nm_info結構的node管理器來管理node的分配. f2fs_nm_info中最讓人疑惑的是幾顆基數樹:
490struct
f2fs_nm_info ;
三棵基數樹分別是: nat_root, nat_set_root, free_nid_root;
首先, 對於整個node管理器來說, 乙個核心的結構體是node_info:
46struct
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...