David Sterba of SUSE sent in all of the Btrfs file-system updates today for the now-open Linux 6.15 kernel merge window. There are some new performance optimizations, new and faster Zstd compression level options, and other changes slated to be included for this CoW file-system in Linux 6.15.
Btrfs for Linux 6.15 has prepared fast/real-time Zstd compression levels from -1 to -15 for the transparent file-system compression support. With a mount option like “compress=zstd:-5” the negative compression levels can be set for improving speed albeit reducing the compression ratio.
Daniel Vacek of SUSE added the negative Zstd compression levels support for Btrfs and provided some numbers on that patch series:
The Btrfs defrag ioctl has also been extended to handle the negative compression levels for Zstd.
The Btrfs code for Linux 6.15 is now also able to fallback to using buffered writes if direct I/O is attempted on a file that requires checksums. This fallback to using buffered writes will avoid checksum mismatch errors albeit with slower performance than direct IO.
Btrfs for the next kernel version also now considers its sub-page mode to be “reasonably complete and tested” and thus no longer warning users over its use.
Some of the other performance work for Btrfs in Linux 6.15 includes enhancing the send path so there is better file path caching that can yield around a 30% run-time improvement on a sample workload. There is also a minor speed improvement within the encoded read code path.
Btrfs is also enabling stable writes on inodes, more folio API conversions, sub-page clean-ups, and a variety of other improvements and fixes.
More details on these proposed Btrfs changes for Linux 6.15 via this pull request.