Btrfs Introduces Exciting Enhancements for Linux 6.7
Phoronix reports that Btrfs, the file system for Linux, will be introducing three new features in version 6.7. These features include a RAID stripe tree, simple quota accounting, and temporary file-system ID (FSID) support. The FSID support is particularly notable as it was a feature requested by Valve for their Steam Deck. The Btrfs feature work was carried out by Igalia on behalf of Valve.
The Btrfs pull request for Linux 6.7 provides more details on these features:
- RAID stripe tree: This new tree is used for logical file extent mapping, especially in zoned mode to implement RAID0 and RAID1 profiles. It can also be used in non-zoned mode. Support for RAID56 is currently being developed. Enabling this feature requires configuring it at the time of creating the file system.
- Simple quota accounting (squota): This feature provides a simplified mode of qgroup that accounts for all space on the initial extent owners (subvolumes). It makes creating and deleting snapshots more efficient, particularly for container use cases. Enabling this feature is backward incompatible but can be done on an existing file system.
- Temporary filesystem FSID (temp_fsid): The FSID is a unique identifier for a filesystem and is hard-coded in the structures, which prevents mounting the same FSID on different devices. With this feature, a new temporary FSID can be generated on mount, allowing for root partition A/B testing or for use with VM root images.
The article also mentions performance improvements in Btrfs for Linux 6.7. One improvement is the reduction of reservations for checksum deletions, resulting in a 12% decrease in deletion time for files with many extents. Additionally, work has been done to make extent state merges more efficient during insertions, reducing the runtime of critical functions by 5%.
It is worth noting that Btrfs in Linux 6.7 removes its integrity check functionality and includes various other low-level code improvements.
Source: Phoronix.