在最新的 Linux 5.11 内核合并窗口中,我们见到了其对于 Btrfs 文件系统的诸多改进和性能提升。首先,btrfs rescue = mount 选项,现已接受使用备份根(usebackuproot)、忽略不良根(ignorebadroots)、忽略数据校验(ignoredatacums)以及全部(all)这四种选项。
资料图(来自:SuSE.org)
其次,Linux 5.11 支持将更多 Btrfs 文件系统信息导出到用户空间,修复了高负载情况下的异步丢弃处理,以及针对可用空间的树修复。
然后是完成了对 IOmap 基础结构的直接 I/O 转换,支持小于页面大小的数据和元数据块的准备工作,在 ARM64 / POWER 64 平台上的 64KB 页面大小,以及 Scrub 只读支持。
(图自:Kernel.org)
值得一提的是,本次更新还将某些类型的工作负载的整体性能提升了 10%,优化了某些不必要的工作、针对 Dbench 的加速、在记录 inode 节点时避免不必要的扩展属性(xattrs)搜索、以及针对树日志的改进等。
后续 Phoronix 也会尽快带来相关性能基准测试,感兴趣的朋友,可移步至 Linux Kernel 邮件公告查看有关 Btrfs 文件系统的完整更新清单。