Linux 3.9 Gets Btrfs RAID 5/6, Fsync Performance
In addition to the already exciting features of the Linux 3.9 kernel, this next release will also bring several new features to the Btrfs file-system.
Chris Mason sent in the Btrfs 3.9 pull request to Linus Torvalds on Saturday morning. The most notable feature to this experimental file-system update is RAID 5 and RAID 6 support. RAID 5/6 support for Btrfs has been talked about for ages, but it's finally materialized in a state for mainline after new code appeared in early February.
While support for these RAID modes is going mainline, it's still considered experimental since Chris Mason is still working on a parity logging setup to avoid inconsistent parity after crashes. This RAID code though is being mainlined to hopefully spot any performance issues or other problems quickly in 3.9. The Btrfs scrub utility also doesn't correct RAID 5/6 errors at this time.
Aside from the new Btrfs RAID 5/6 support, there's also more work on improving the fsync performance. A change made for Linux 3.9 is to combine waiting for meta-data with waiting for data, which Chris describes as "a big latency win. It is also one step towards using atomics for the hardware during a commit."
Another update is a way to use Btrfs send/receive support to send only meta-data changes. This is particularly a change for SUSE to make Snapper more efficient at finding differences between Btrfs snapshots.
Yet another new feature for Btrfs is snapshot-aware defrag support.
Last but not least, there's a large number of fixes and clean-ups. More details can be found via the Btrfs 3.9 pull request.
Chris Mason sent in the Btrfs 3.9 pull request to Linus Torvalds on Saturday morning. The most notable feature to this experimental file-system update is RAID 5 and RAID 6 support. RAID 5/6 support for Btrfs has been talked about for ages, but it's finally materialized in a state for mainline after new code appeared in early February.
While support for these RAID modes is going mainline, it's still considered experimental since Chris Mason is still working on a parity logging setup to avoid inconsistent parity after crashes. This RAID code though is being mainlined to hopefully spot any performance issues or other problems quickly in 3.9. The Btrfs scrub utility also doesn't correct RAID 5/6 errors at this time.
Aside from the new Btrfs RAID 5/6 support, there's also more work on improving the fsync performance. A change made for Linux 3.9 is to combine waiting for meta-data with waiting for data, which Chris describes as "a big latency win. It is also one step towards using atomics for the hardware during a commit."
Another update is a way to use Btrfs send/receive support to send only meta-data changes. This is particularly a change for SUSE to make Snapper more efficient at finding differences between Btrfs snapshots.
Yet another new feature for Btrfs is snapshot-aware defrag support.
Last but not least, there's a large number of fixes and clean-ups. More details can be found via the Btrfs 3.9 pull request.
8 Comments