ChubaoFS MetaNode
简介
源码分析
启动流程
|
|
|
|
|
|
metaPartition
|
|
|
|
|
|
基本数据结构
Inode
Inode代表mp中的一个文件;
mp的所有inode 通过btree组织为起来,key为Inode ID;
通过btree,可以对所有的inode进行get和范围scan;
Inode中的
Extents
记录该文件的有序extent记录,通过extents可从datanode上读取文件数据;
|
|
Dentry
Dentry代表文件名和Inode之间的映射关系,
通过ParentId将所有的文件名组织为一个树形结构;
Dentry Btree以ParentID + Name为key进行排序;
|
|
Extend
extend用于记录文件的扩展属性;
extend btree 以 inode id 为key;
扩展属性以kv形式存储在dataMap字段;
|
|
操作
创建软连接
- 新建一个新的Inode,Inode的LinkTarget为软连接目标文件的文件路径;
- 新建dentry, dentry Inode为新Inode ID;
创建硬链接
增加旧inode的NLink计数;
新增dentry,dentry Inode为旧Inode ID;