Btrfs For Linux 4.15 Picks Up Compression Improvements, Continued Optimizations
One user-facing change with Btrfs in Linux 4.15 is that it will support specifying a Zlib compression level if using this means of transparent file-system compression. Via the existing compress mount option, the Zlib compression level can be specified, e.g. -o compress=zlib:6. While the LZO and zSTD compression options for Btrfs remain unchanged.
On the Btrfs compression front, Linux 4.15 will now populate the compression heuristics logic with data sampling results for trying to gauge the compressibility of a file. The new Btrfs code is looking at repeated patterns within files, unique byte values and distributions, and other items to try to determine if compressing a given file is worthwhile. Btrfs developers warn that this code is still subject to further tuning.
Btrfs in Linux 4.15 also has a new ioctl around extent-to-inode mapping, enable indexing of Btrfs as a lower file-system in OverlayFS, speeding up the page cache readahead during sending on large files, and a wide variety of internal code improvements.
More details via the pull request.