diff --git a/Documentation/Kernel-by-version.rst b/Documentation/Kernel-by-version.rst index e6d224ce..e40cdebd 100644 --- a/Documentation/Kernel-by-version.rst +++ b/Documentation/Kernel-by-version.rst @@ -557,16 +557,137 @@ Fixes: 6.9 (May 2024) ^^^^^^^^^^^^^^ -TBD +Pull requests: +`v6.9-rc1 (1)`__, +`v6.9-rc1 (2)`__, +`v6.9-rc2 `__, +`v6.9-rc3 `__, +`v6.9-rc5 `__, +`v6.9-rc6 `__, +`v6.9-rc7 `__, +`v6.9-rc8 `__, + +Performance improvements: + +- minor speedup in logging when repeatedly allocated structure is preallocated + only once, improves latency and decreases lock contention + +- minor throughput increase (+6%), reduced lock contention after clearing + delayed allocation bits, applies to several common workload types + +- features under CONFIG_BTRFS_DEBUG: + - sysfs knob for setting the how checksums are calculated when submitting IO, + inline or offloaded to a thread, this affects latency and throughput on some + block group profiles + +Notable fixes: + +- fix device tracking in memory that broke grub-probe + +- zoned mode fixes: + - use zone-aware super block access during scrub + - delete zones that are 100% unusable to reclaim space + +Other notable changes: + +- additional validation of devices by major:minor numbers 6.10 (Jul 2024) ^^^^^^^^^^^^^^^ -TBD +Pull requests: +`v6.10-rc1 (1)`__, +`v6.10-rc1 (2)`__, +`v6.10-rc3 (1)`__, +`v6.10-rc3 (2)`__, +`v6.10-rc5 `__, +`v6.10-rc6 `__, +`v6.10-rc7 (1)`__, +`v6.10-rc7 (2)`__, +`v6.10-rc8 `__, + +Performance improvements: + +- inline b-tree locking functions, improvement in metadata-heavy changes + +- relax locking on a range that's being reflinked, allows read operations to + run in parallel + +- speed up NOCOW write checks (throughput +9% on a sample test) + +- extent locking ranges have been reduced in several places, namely around + delayed ref processing + +Notable fixes or changes: + +- add back mount option *norecovery*, deprecated long time ago and removed in + 6.8 but stil in use + +- fix potential infinite loop when doing block group reclaim + +- extent map shrinker, allow memory consumption reduction for direct io loads + 6.11 (Sep 2024) ^^^^^^^^^^^^^^^ +Pull requests: +`v6.11-rc1 (1)`__, +`v6.11-rc1 (2)`__, +`v6.11-rc2 `__, +`v6.11-rc3 `__, +`v6.11-rc4 `__, +`v6.11-rc4 `__, +`v6.11-rc6 `__, +`v6.11-rc7 `__, + +User visible features: + +- dynamic block group reclaim: + - tunable framework to avoid situations where eager data allocations prevent + creating new metadata chunks due to lack of unallocated space + - reuse sysfs knob bg_reclaim_threshold (otherwise used only in zoned mode) + for a fixed value threshold + - new on/off sysfs knob "dynamic_reclaim" calculating the value based on + heuristics, aiming to keep spare working space for relocating chunks but + not to needlessly relocate partially utilized block groups or reclaim newly + allocated ones + - stats are exported in sysfs per block group type, files "reclaim_*" + - this may increase IO load at unexpected times but the corner case of no + allocatable block groups is known to be worse + +- automatically remove qgroup of deleted subvolumes: + - adjust qgroup removal conditions, make sure all related subvolume data are + already removed, or return EBUSY, also take into account setting of sysfs + drop_subtree_threshold + - also works in squota mode + +- mount option updates: new modes of 'rescue=' that allow to mount images + (read-only) that could have been partially converted by user space tools + - ignoremetacsums - invalid metadata checksums are ignored + - ignoresuperflags - super block flags that track conversion in progress + (like UUID or checksums) + +Other notable changes or fixes: + +- space cache v1 marked as deprecated (a warning printed in syslog), the + free-space tree (i.e. the v2) has been default in "mkfs.btrfs" since 5.15, + the kernel code will be removed in the future on a conservative schedule + +- tree checker improvements: + - validate data reference items + - validate directory item type + +- send also detects last extent suitable for cloning (and not a write) + +- extent map shrinker (a memory reclaim optimization) added in 6.10 now + available only under CONFIG_BTRFS_DEBUG due to performance problems + +- update target inode's ctime on unlink, + `mandated by POSIX `__ + +- in zoned mode, detect unexpected zone write pointer change + 5.x ---