在 Linux 5.19 合并窗口期间进行了一项有关 XFS 文件系统的更新。根据介绍,这是一项包含了很多新代码的大更新;其中两个主要的新功能是对 Large Extent Counts 和 Logged Attribute Replay 的支持。开发者 Dave Chinner 表示,其计划将在这两个新的基础性功能之上构建“more complex future features”。
Dave Chinner 解释称:
对于即将到来的功能,我们需要能够在每个节点上存储数以亿计的 xattrs。Large Extent Count 功能消除了阻止这种规模的 xattr 存储的限制,当我们修改磁盘上的扩展计数格式时,我们也将每个节点支持的数据扩展数从 2^32 增加到 2^47。
我们还需要能够修改 xattrs 作为更大的 atomic transactions 的一部分,而不是作为 standalone transactions。Logged Attribute Replay 功能引入了允许我们在启动属性修改之前使用 intents 在日志中记录属性修改的基础架构,因此允许其他 atomic transactions 记录属性修改 intents,然后将实际修改推迟到以后进行。如果发生了崩溃,log recovery 会保证 attribute 在记录意图的 atomic transaction 的上下文中重放。
在此次合并中,有很大一部分 commit 是为了实现基本的 attribute replay 功能,以及与这个新功能相关的修复、改进和清理工作。Allison 值得感谢,因为她一直在努力让这个功能进入 XFS。
还有许多其他较小的变化和改进,所以总的来说,这是一段时间以来较大的 XFS 合并请求之一。
除了 XFS 将能够扩展到 40 亿个数据扩展和每个节点数十亿个 xattrs 之外,还有对实时范围核算的改进、rmap btree 搜索的改进,以及减少了 30% 的开销,xfs_scrub runtime 也减少了 15% 左右。还有其他各种改进可见 Git merge 。
猜你喜欢: