An Exciting Btrfs Update With Encoded I/O, Fsync Performance Improvements
With Btrfs adoption ticking up in more recent times, this kernel is bringing more exciting work to this "next-generation" Linux file-system. There is the addition of the encoded I/O ioctls, multiple improvements to Btrfs' fsync handling, preparations for the new extent trees layout, and more.
- Fsync speed-ups, including up to 90% lower run-time during directory logging. There is also fsync work to avoid logging all directory changes during renames, which can save up to 60% run-time. There is also work to avoid inode logging during rename and linking as also cutting the run-time up to 60%. There are other changes to also boost throughput and other enhancements.
- Encoded read/write interfaces. This Btrfs encoded I/O allows user-space to read/write raw data directly to extents such as for compressed data right now and supporting encrypted data in the future.
- Continued work on the Btrfs extent tree v2 changes.
- The Btrfs VFS code now allows reflinks and deduplication from two different mounts of the same file-system.
- Btrfs zoned mode now works with metadata DUP.
- Improved error messages for the file-system driver.
- Fixes and other low-level improvements.
See this pull request for the full list of Btrfs feature changes for Linux 5.18.
Btrfs continues being one of the most promising, feature-rich Linux file-systems that is in the mainline kernel.