ubifs mount 函数分析
2015-05-18 16:19
204 查看
MOUNT
函数在super.c中的mount_ubifs()函数:① 检测卷是否为空,如果volume为空的,而ubi为只读的就无法进行初始化。
②
初始化:bottom_up_buf bottom_up_buf:
a buffer which is used bydirty_cow_bottom_up()' in tnc.c,在后面我们会看到在dirty_cow_bottom_up中将znode的所有的ancestors(父节点,父节点的父节点,一直到根节点未知)都设为dirty。所以在标记之前要记录一下所有的ancestors
znode。这个bottom_up_buf就是用于这个目的.
③
初始化sbuf:@sbuf: a buffer of LEB size used by GC and replay for scanning。
④
大块读的初始化事项:bulk_read;bu_init(c);
⑤
读超级块,如果该volume是空的,显然不存在超级块,这时候需要创建一个最初的文件系统err =ubifs_read_superblock(c);
⑥
init_constants_sb:初始化ubifs中的一些数据;
⑦
@cbuf: commit buffer
⑧
如果挂载的时候不是以read_only的形式挂载的 就申请write_buf;
alloc_wbufs(c);
⑨
如果mst_node为脏,就表示需要进行日志恢复。
⑩
初始化lpt
⑪
回放日志
⑫
主要是对于journal,lpt,orphan的初始化,后面会进行一一的解释。
相关文章推荐
- 抓包函数分析
- Linux内核源码分析--内存管理(二、函数实现技巧)
- uboot分析之cconsole_init_r函数
- Oracle使用技巧之分析函数篇
- Hive分析函数二
- (转)PHP 函数的实现原理及性能分析
- 类的继承和静态函数、类函数分析
- php中explode函数用法分析
- DB2 中row_number() over()分析函数用法
- PHP stripos()函数及注意事项的分析
- 【应聘笔记系列】堆栈、栈帧与函数调用过程分析
- 关于hive分析函数
- Oracle开发专题之:分析函数(OVER)
- php常用字符串处理函数实例分析
- Oracle过程与函数的区别分析
- SQL基础(十一)分析函数
- USB 驱动程序开发之几个重要函数分析
- ORACLE之 分析函数(一)
- 函数分析之usb_submit_urb
- listen()函数中backlog参数分析