Btrfs Has Many Nice Improvements, Better Performance With Linux 5.11
The first set of major file-system material submitted for the newly opened Linux 5.11 merge window are the Btrfs updates.
The Btrfs file-system updates this time around are on the heavier side with a variety of enhancements throughout:
- The Btrfs rescue= mount option can now accept values of using the backup root (usebackuproot), ignoring bad roots (ignorebadroots), ignoring data checksums (ignoredatacums), and all (all).
- Exporting more Btrfs file-system information to user-space.
- Fixes around the async discard handling under high load conditions.
- Free space tree fixes.
- The Direct I/O conversion to the IOmap infrastructure has been completed.
- Prep work to support data and metadata blocks that are smaller than the pagesize.
- Preparing for 64K pages on ARM64 and POWER 64-bit.
- Scrub read-only support.
- General performance improvements with upwards of "tens of percent" for some workloads.
On the performance front there are optimizations to avoid unnecessary work, speed-ups targeting Dbench, avoiding unnecessary searches for extended attributes (xattrs) when logging an inode, tree log improvements, and more. I'll be running some Btrfs Linux 5.11 file-system benchmarks soon.
The full list of Btrfs updates for Linux 5.11 can be found via the Linux kernel mailing list. Stay tuned for benchmarks and barring any unseen regressions this looks like a very nice Christmas gift to users of this Linux file-system.