JFFS2文件系统(1)
本文内容基于linux4.4.198. 最近用了下jffs2文件系统,把心得记录一下。 本文将从实用性的角度介绍jffs2文件系统,关于理论及介绍性的文章,网络上已经有很多了,可以结合着看,从不同角度一起梳理一下jffs2文件系统的相关内容。 直接上jffs2中重要的的数据结构和宏吧。 存放在flash上的数据结构 jffs2在flash上的数据均称为节点,每个节点都以struct jffs2_unknown_node开头,通过这个开头判别这个是个什么类型的节点。 //flash上的数据结构 struct jffs2_unknown_node //其内核描述符为jffs2_raw_node_ref { /* All start like this */ jint16_t magic ; jint16_t nodetype ; jint32_t totlen ; /* So we can skip over nodes we don't grok */ jint32_t hdr_crc ; //前面三个成员的crc值 } ; 在flash上,jffs2主要有两种节点,分别是struct jffs2_raw_dirent和struct jffs2_raw_inode //flash上的数据结构 struct jffs2_raw_dirent { jint16_t magic ;