除了node_info之外, node管理器中还有还有个重要的数据结构: struct free_nid { struct list_head list; /* for free node id list */ nid_t nid; /* node id */ int state; /* in use or not: NID_NEW or NID_ALLOC */ }; 这个结构体体很简单,比刚才的node_info轻量级多了,仅仅是标识了当前可以使用的nid,以及这个nid的状态,一个指针将其…
extent的意思是“程度”,但是我还是搞不清楚要如何把“程度”和我理解的extent联系到一起. 文件的偏移和page-cache的映射关系体现在address space 中的一颗基数树上:当基数树中的page真正落盘时,f2fs也有自己的block分配算法去存储这个page:当数据真正落盘之后,文件的逻辑偏移和其真正的block之间的关系是通过inode以及各级dnode构成的索引来建立的.如果我每次查看文件的索引都是通过读各级索引去得到最终数据块的block地址也是蛮慢的,所以索引的关系…