行为良好的写回

sage

本周 Ceph 内核客户端的一个令人兴奋的里程碑:文件数据写回正在工作,并且表现良好。特别是,tar 文件提取的速度主要受文件创建的 MDS 延迟限制。文件数据以不错的大的 I/O(基于条带化参数……默认情况下为 4 MB 对象)异步写入 OSD。文件能力仅在所有脏数据写入后才会释放给 MDS,并且来自其他客户端的介入操作(例如,另一个客户端的文件 stat)将正确暂停具有该文件打开权限的其他客户端,以便返回正确的结果。

这里的一个不错的副作用是,某些写操作可以在不与 MDS 交互的情况下安全地执行。在 tar 提取的情况下,设置文件 mtime 和 ctime 的 utimes() 调用只需更新客户端的本地值,因为它仍然持有这些 inode 字段的独占能力;一旦数据刷新到 OSD,能力就会连同正确的大小、mtime 和 atime 值一起释放给 MDS。

无论如何,内核客户端现在相当稳定且可用了!