Btrfs 文件系统看起来其新的 “CLEAR_FREE” 功能将为即将到来的 Linux 6.16 内核周期做好准备。
SUSE 的 David Sterba 一直在开发 CLEAR_FREE 补丁系列,作为新的内核 ioctl,用于以各种方式清除未使用的空间。补丁已排队到 Btrfs for-next Git 分支中,因此可能是即将到来的合并窗口 (Linux 6.16) 的材料,除非出现任何最后一刻的问题或保留。
Btrfs CLEAR_FREE 是 FITRIM 的扩展性更强的版本,它不仅可以执行 TRIM/DISCARD,还可以用于安全擦除、将未使用的块清零,并扩展其他功能。

David Sterba 在之前的 CLEAR_FREE 补丁系列中对此功能进行了解释:
“添加类似于 FITRIM 的 ioctl,除了 trim 之外,还可以进行归零(如果设备支持,则直接覆盖或取消映射块)和安全擦除。
这可用于将 VM 映像等 VM 映像中的未使用空间归零(如果不支持 fstrim,则从客户机内部运行时)或精简配置设备上的可用空间。
安全擦除由 blkdiscard 命令提供,但我不知道可以在文件系统上运行的等效命令,所以这是为了奇偶校验。
初始形式是 CLEAR_FREE 的安全擦除模式和归零模式。安全擦除将安全地擦除未使用的空间,并取决于硬件支持。除非硬件支持 UNMAP 命令,否则 zero-out 模式会将 0 写入块。
转自 Btrfs “CLEAR_FREE” Looks Like It Will Be Ready For Linux 6.16 – Phoronix
Linuxeden开源社区