CurveFS S3数据整理(合并碎片、清理冗余)任务开始执行, 尝试根据inodekey获取inode信息, 获取不到就退出; 不是s3类型的inode退出 对于每一个s3类型的inode来说, 对每一个index内的chunkinfo按照chunkid升序排序. 对于一个chunk来说,chunkinfo数量大于20即进行处理 计算变更 - 记录整个chunk最大的chunkid - 读出一个chunk所有有效的部分(如果是最后一个chunk,需要注意不0 码力 | 3 页 | 101.58 KB | 6 月前3
CurveFS对接S3方案设计进行优化,将overlap的chunk进行拆分,version大的覆盖version小的。最后得到的是一组没有overlap的c hunks。 2.在将这些chunks按照offset进行大小进行排序,方便处理后面的read操作。 3.将read的offset,len和s3info可能交互的场景分别进行处理,分别获取要读取的每个S3ChunkInfo的offset len,封装到request中,具体可见代码的处理逻辑。0 码力 | 11 页 | 145.77 KB | 6 月前3
Curve文件系统空间分配方案一块空间(以4MiB为例,具体大小可配置)是否分配出去。 第二层为free extent list,表示每个已分配的块,哪些仍然是空闲的(offset, length),以offset为key进行排序(这里可以用map或者btree对所有的free extent进行管理)。 当前设计不考虑持久化问题,空间分配器只作为内存结构,负责空间的分配与回收。在初始化时,扫描文件系统所有inode中已使用的空间。0 码力 | 11 页 | 159.17 KB | 6 月前3
共 3 条
- 1













