您的位置:首页 > 其它

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的初始化,后面会进行一一的解释。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: