curvefs client删除文件和目录功能设计2. Trash放在哪里? 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? 方案设计 Trash机制: Session机制: 遗留问题 工作量评估 背景 目前curvefs client版本对删除unlink和rmdir的设计只有简单的删除inode和dentry结构,遗留了nlink和lookup count相关的内容还未实现,是 此时,nlink是没有-1的,删除接口直接忽略了第二步的错误。 根据其论文描述:© XXX Page 14 of 15 chubaofs使用的是类似fsck的工具去修复这个问题,也就是运维手段。 工作量评估 需要修改的模块,如下: Client端: 实现symlink、link接口; 修改unlink、rmdir接口,删除dentry,调用metaserver unlink,而不直接删除inode0 码力 | 15 页 | 325.42 KB | 6 月前3
CurveFS Copyset与FS对应关系5、curvefs mds和metaserver的心跳 6、详细设计 6.1 创建fs 6.2、挂载fs 6.3、创建文件/目录 6.4、open流程 6.5、读写流程 6.6、topology 7、工作评估 7.1 client端 7.2 mds端 7.3 metaserver端 metaserver 子模块拆分 8、inode和dentry的内存估算 8.1 一台机器上能存放多少个inode和dentry fsinfo下面增加partition字段,用来维护fs的partition信息。 copyset在以前copyset的基础上,增加partiton信息。 partition id需要全局唯一。 7、工作评估 7.1 client端© XXX Page 17 of 19 1、mount的时候,获取这个fs的所有partition和copyset信息。分片信息的缓存。 2、paritition的选择。0 码力 | 19 页 | 383.29 KB | 6 月前3
Curve文件系统元数据持久化方案设计redis 中的某个 DB (一个 redis 实例可包含多个 DB) 或数据结构,这对于在要使用 multiraft 的场景下,每个 raft 实例需要独立的快照并不合适 如果改造 redis,初步评估了下,其工作量要比自己实现持久化的逻辑要大一些,改造主要是为了让 redis 提供单独 dump/load 一个 DB 的功能: 如果改造,dump/load 的逻辑都得动,而且会牵扯到一些其他逻辑(如主从复制,因为0 码力 | 12 页 | 384.47 KB | 6 月前3
共 3 条
- 1













