Curve文件系统空间分配方案第一层用bitmap进行表示,每个bit标识其所对应的一块空间(以4MiB为例,具体大小可配置)是否分配出去。 第二层为free extent list,表示每个已分配的块,哪些仍然是空闲的(offset, length),以offset为key进行排序(这里可以用map或者btree对所有的free extent进行管理)。 当前设计不考虑持久化问题,空间分配器只作为内存结构,负责空间的分配与回收。0 码力 | 11 页 | 159.17 KB | 6 月前3
curvefs client删除文件和目录功能设计要放到freelist中,目录由于是nlink从2开始,当目录的nlink=2时,连续减两次到0。 freelist会被定期清理,清理时筛选出超过7天的inodeid,将其从inode tree和free list中移除。 chubaofs中实现了forget接口:首先client端,在删除inode时,如果判断到nlink减到0,则加入client端维护 。forget接口执行时,判断inode是否在 metaserver在收到该请求后,则设置inode的DeleteMarkFlag,并将其放入freelist。 freelist在定期清理时,当发现设置了DeleteMarkFlag,则直接从inode tree和free list中移除该inode,不再等待7天。 chubaofs实现了强制从freelist中移除inode的机制,同样是使用设置DeleteMarkFlag的方式。 chubaofs也实现了查询机0 码力 | 15 页 | 325.42 KB | 6 月前3
Curve for CNCF MainUse bthread (M bthread map N pthread) for scalability and performance on Multi-thread CPU • Lock free queue design • Memory zero copy design • Cloud native supportCloud native for CurveBS • CSI plugin0 码力 | 21 页 | 4.56 MB | 6 月前3
共 3 条
- 1













