摘要: free_info 功成身退,node_info顺利接班。// 这里还是蛮复杂的一件事,如果不搞清除的话,这个历史性的接班工作我们就接不上上面说到 alloc_nid 和 alloc_nid_done 之后,这个free_nid算是被完全清除了。我们知道free_info 和 node_info 结... 阅读全文
posted @ 2015-11-07 22:45 honpey 阅读(1763) 评论(0) 推荐(0) 编辑
摘要: 除了node_info之外, node管理器中还有还有个重要的数据结构:145 struct free_nid {146 struct list_head list; /* for free node id list */147 nid_t nid; /* node id... 阅读全文
posted @ 2015-11-07 21:57 honpey 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: node是f2fs重要的管理结构, 它非常重要! 系统挂载完毕后, 会有一个f2fs_nm_info结构的node管理器来管理node的分配. f2fs_nm_info中最让人疑惑的是几颗基数树: 490 struct f2fs_nm_info { 491 block_t nat_blkad... 阅读全文
posted @ 2015-11-07 21:29 honpey 阅读(1634) 评论(0) 推荐(0) 编辑
摘要: 文件系统中经常会有wait_on_page_bit函数的封装,比如f2fs中就会有如下的代码:1431 void f2fs_wait_on_page_writeback(struct page *page, //等待页写回.1432 enum page_type ty... 阅读全文
posted @ 2015-11-02 23:51 honpey 阅读(4938) 评论(0) 推荐(1) 编辑
摘要: hon@hon:~/f2fs$ grep -i "clearpagedirty" . -nr./mm/shmem.c:1240: ClearPageDirty(page);./mm/memory-failure.c:717: ClearPageDirty(p);./mm/vmscan.c:562: ... 阅读全文
posted @ 2015-11-01 01:06 honpey 阅读(1664) 评论(0) 推荐(0) 编辑
摘要: f2fs中有对一个bitmap进行操作的函数,感觉很巧妙,和大家分享一下:1333 static inline void f2fs_change_bit(unsigned int nr, char *addr)1334 {1335 int mask; //addr是bitmap的首地址,由于... 阅读全文
posted @ 2015-10-25 21:59 honpey 阅读(658) 评论(0) 推荐(0) 编辑
摘要: f2fs中普通的summary是长这样的:每一个段的SSA block中,前半部分是这个段的SSA,然后对于HOT_DATA以及COLD_DATA段,存放是的是nat journal 和 sit journal,最后是一个ssa_footer,footer里面存放的是这个段是一个DATA段还是NOD... 阅读全文
posted @ 2015-10-25 19:38 honpey 阅读(1063) 评论(0) 推荐(0) 编辑
摘要: 百忙之中抽出时间学python,第一个程序如下:里面涉及到了两种重要的数据结构:链表和字典;还有字符串的若干操作,包括去掉字符串中的空格;还有如果像awk一样将一行split1 #!/usr/bin/python 2 import time 3 import os 4 import sys ... 阅读全文
posted @ 2015-09-20 23:59 honpey 阅读(257) 评论(0) 推荐(0) 编辑
摘要: extent的意思是“程度”,但是我还是搞不清楚要如何把“程度”和我理解的extent联系到一起。文件的偏移和page-cache的映射关系体现在address space 中的一颗基数树上;当基数树中的page真正落盘时,f2fs也有自己的block分配算法去存储这个page;当数据真正落盘之后,... 阅读全文
posted @ 2015-09-15 20:40 honpey 阅读(1495) 评论(0) 推荐(0) 编辑
摘要: 首先,我们要知道NAT中的每个表项都对应着MAIN AREA区域中NODE段的一个block,还要知道NODE block很特别,block末尾会有一个node footer结构:243 struct node_footer {244 __le32 nid; /* node id *... 阅读全文
posted @ 2015-09-14 23:37 honpey 阅读(2022) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示