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.