Btrfs For Linux 5.1 Brings Configurable Zstd Compression Level, A Number Of Fixes
One of the main changes to the Btrfs file-system support is now offering configurable Zstd file compression support. Btrfs has offered Zstd as part of its native and transparent compression support going back to Linux 4.14, but now with Linux 5.1 is the ability to adjust the Zstandard compression level for either greater compression or faster compression speeds. The Zstd compression level also impacts how much system memory is needed besides the higher levels being more taxing on the CPU.
At the lowest level, in benchmarks by developers the Zstd compression for Btrfs could compress at 438MB/s and decompress at 910MB/s while at the highest level was just 37MB/s compression speed and 878MB/s for decompression.
The Btrfs changes for this next version of the Linux kernel also includes a new IOCTL to be able to unregister a device from the module, QGROUPS now skipping part of a tree that does not get updated during relocation (netting a 20% performance improvement in run-time for that code), compression workspace management reworking, ENOSPC (out of space) fixes, fsync fixes, and a variety of other fixes for this feature-rich Linux file-system.
The complete list of Btrfs changes ready so far for Linux 5.1 are outlined via this pull request.