CurveFS rename 接口实现方案步骤 1 出错,啥事都没发生 步骤 2 出错,等同于创建硬连接出错,恢复机制如下: 将源文件的 nlink 减一 步骤 3 出错,相当于创建了硬链接,但是没有删除源文件,此时源文件和目标文件同时存在,恢复机制如下: 删除目标文件 dentry 将源文件的 nlink 减一 备注: 如果这一步骤出错,并且恢复机制没有执行成功,那么会导致一些问题:© XXX Page 3 of 15 3. 有可能没办法被正常回收 (nlink 始终大于 0),恢复机制如下: 对于这一步出错,没有恢复机制,与 unlink 操作失败一样的处理(因为 dentry 删除了,而 inode 却没被回收,会被当成孤儿节点去处理) 如果采用 chubaofs 的方案,需要考虑以下问题: 以上的恢复进制如果没执行成功怎么办? 客户端存活的情况下,应该多尝试几次,直至成功 但是如果恢复机制尝试多次没成功,或者客户端挂掉、宕机该如何处理? 该如何处理? 步骤 1:忽略 步骤 2:只是给 nlink + 1 了,这个 ,同步骤 4 恢复机制一样,当做孤儿节点来处理 等同于 unlink 操作时删除了 dentry 而 nlink 没减一的情况 步骤 3: ,就会同时存在 src、dst 的 dentry,相当于多了一个硬链接,Linux 和 POSIX 这一步出错 接口中表明这允许一段时间内存在,但是最终还是要原子性,所以这一步出错会导致和本地文件系统不一致的行为:0 码力 | 15 页 | 555.93 KB | 6 月前3
Zadig 面向开发者的云原生 DevOps 平台来和云端做交互,利用 Zadig 能力完成车端和云端服务的迭代更新 过程: 主机方式接入资源设备 • 支持系统主机管理的同时支持了项目级别的主机管理,项目成员可 以自己上下线资源设备 • 主机管理支持强大的探活机制 (TCP/HTTP 协议 ) ,精准检测资源设 备是否在线。 • 服务可以查看到关联的主机资源,支持登录主机,方便开发登录资 源设备诊断问题 • 完备的权限控制,极大降低了管理成本,实现安全风险可控。0 码力 | 59 页 | 81.43 MB | 1 年前3
Zadig 面向开发者的云原生 DevOps 平台来和云端做交互,利用 Zadig 能力完成车端和云端服务的迭代更新 过程: 主机方式接入资源设备 • 支持系统主机管理的同时支持了项目级别的主机管理,项目成员可 以自己上下线资源设备 • 主机管理支持强大的探活机制(TCP/HTTP 协议),精准检测资源设 备是否在线。 • 服务可以查看到关联的主机资源,支持登录主机,方便开发登录资 源设备诊断问题 • 完备的权限控制,极大降低了管理成本,实现安全风险可控。0 码力 | 59 页 | 23.57 MB | 1 年前3
共 3 条
- 1













