David Sterba of SUSE has submitted a functional change of about 4000 lines of code driven by Btrfs file system in Linux 5.19 kernel Thanks to the continuous efforts of SUSE, Facebook and other large supporters, many functional improvements, performance optimization and underlying code work of Btrfs file system have been completed. Some Btrfs highlights in Linux 5.19 include:
-Btrfs can effectively avoid blocking on space reservation when performing nowait and direct I / O writes, which can increase the throughput of read and write by about 7%.
-Due to improved locking, the throughput performance of no copy on write (nocow) should be improved by about 3%.
-The Btrfs send code also includes a performance improvement of Btrfs, which reduces the pressure on page caching by discarding the degree pages earlier.
-Btrfs sub page processing now supports any page larger than 4K_ Size, which previously only supported 64K. Btrfs sub pages are supported to handle sectors smaller than the size of the kernel page, rather than keeping them the same.
-The subpage path of Btrfs now also supports Btrfs RAID 5 / 6 operations.
-Various improvements to Btrfs partitioned storage support, including the adjustable mechanism of sysfs for each file with recycling threshold.
-If the number of devices (Num _devices) does not match the number of existing devices, the super block of Btrfs will now be automatically changed.
-Btrfs has migrated all Radix trees to xarrays in the code.
-Various bug fixes and other improvements have been made to the Btrfs driver code.
For more details on the Btrfs change of Linux 5.19, see this pull request: