Skip to content

Commit 6f30752

Browse files
committed
btrfs-progs: docs: add kernel changelogs for 6.12, 6.13 and 6.14
[ci skip] Signed-off-by: David Sterba <dsterba@suse.com>
1 parent 61543d4 commit 6f30752

File tree

1 file changed

+149
-1
lines changed

1 file changed

+149
-1
lines changed

Documentation/Kernel-by-version.rst

Lines changed: 149 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -627,7 +627,6 @@ Notable fixes or changes:
627627

628628
- extent map shrinker, allow memory consumption reduction for direct io loads
629629

630-
631630
6.11 (Sep 2024)
632631
^^^^^^^^^^^^^^^
633632

@@ -702,6 +701,33 @@ Pull requests:
702701
`v6.12-rc7 <https://git.kernel.org/linus/9183e033ec4f8bdac778070ebccdd41727da2305>`__,
703702
`v6.12 <https://git.kernel.org/linus/c9dd4571ad38654f26c07ff2b7c7dba03301fc76>`__
704703

704+
User visible changes:
705+
706+
- the FSTRIM ioctl updates the processed range even after an error or interruption
707+
708+
- cleaner thread is woken up in SYNC ioctl instead of waking the transaction
709+
thread that can take some delay before waking up the cleaner, this can speed
710+
up cleaning of deleted subvolumes
711+
712+
- print an error message when opening a device fail, e.g. when it's unexpectedly read-only
713+
714+
Core changes:
715+
716+
- improved extent map handling in various ways (locking, iteration, ...)
717+
- new assertions and locking annotations
718+
- raid-stripe-tree locking fixes
719+
- use xarray for tracking dirty qgroup extents, switched from rb-tree
720+
- turn the subpage test to compile-time condition if possible (e.g. on x86_64
721+
with 4K pages), this allows to skip a lot of ifs and remove dead code
722+
- more preparatory work for compression in subpage mode
723+
724+
Cleanups and refactoring:
725+
726+
- folio API conversions, many simple cases where page is passed so switch it to
727+
folios
728+
- more subpage code refactoring, update page state bitmap processing
729+
- introduce auto free for btrfs_path structure, use for the simple cases
730+
705731
6.13 (Jan 2025)
706732
^^^^^^^^^^^^^^^
707733

@@ -714,6 +740,128 @@ Pull requests:
714740
`v6.13-rc7 <https://git.kernel.org/linus/643e2e259c2b25a2af0ae4c23c6e16586d9fd19c>`__,
715741
`v6.13 <https://git.kernel.org/linus/ed8fd8d5dd4aa250e18152b80cbac24de7335488>`__
716742

743+
User visible changes:
744+
745+
- wire encoded read (ioctl) to io_uring commands, this can be used on itself,
746+
in the future this will allow 'send' to be asynchronous. As a consequence,
747+
the encoded read ioctl can also work in non-blocking mode
748+
749+
- new ioctl to wait for cleaned subvolumes, no need to use the generic and
750+
root-only SEARCH_TREE ioctl, will be used by "btrfs subvol sync"
751+
752+
- recognize different paths/symlinks for the same devices and don't report them
753+
during rescanning, this can be observed with LVM or DM
754+
755+
- seeding device use case change, the sprout device (the one capturing new
756+
writes) will not clear the read-only status of the super block; this prevents
757+
accumulating space from deleted snapshots
758+
759+
- swapfile activation updates that are nice to CPU and activation is interruptible
760+
761+
Performance improvements:
762+
763+
- reduce lock contention when traversing extent buffers
764+
- reduce extent tree lock contention when searching for inline backref
765+
- switch from rb-trees to xarray for delayed ref tracking, improvements due to
766+
better cache locality, branching factors and more compact data structures
767+
- enable extent map shrinker again (prevent memory exhaustion under some types
768+
of IO load), reworked to run in a single worker thread (there used to be
769+
problems causing long stalls under memory pressure)
770+
771+
Core changes:
772+
773+
- raid-stripe-tree feature updates:
774+
- make device replace and scrub work
775+
- implement partial deletion of stripe extents
776+
- new selftests
777+
778+
- split the config option BTRFS_DEBUG and add EXPERIMENTAL for
779+
features that are experimental or with known problems so we don't
780+
misuse debugging config for that
781+
782+
- subpage mode updates (sector < page):
783+
- update compression implementations
784+
- update writepage, writeback
785+
786+
- continued folio API conversions, buffered writes
787+
- make buffered write copy one page at a time, preparatory work for
788+
future integration with large folios, may cause performance drop
789+
- proper locking of root item regarding starting send
790+
- error handling improvements
791+
792+
- code cleanups and refactoring:
793+
794+
- dead code removal
795+
- unused parameter reduction
796+
- lockdep assertions
797+
798+
6.14 (Mar 2025)
799+
^^^^^^^^^^^^^^^
800+
801+
Pull requests:
802+
`v6.14-rc1 <https://git.kernel.org/linus/0eb4aaa230d725fa9b1cd758c0f17abca5597af6>`__,
803+
`v6.14-rc2 <https://git.kernel.org/linus/92514ef226f511f2ca1fb1b8752966097518edc0>`__,
804+
`v6.14-rc3 <https://git.kernel.org/linus/945ce413ac14388219afe09de84ee08994f05e53>`__,
805+
`v6.14-rc5 <https://git.kernel.org/linus/cc8a0934d099b8153fc880a3588eec4791a7bccb>`__,
806+
`v6.14-rc6 <https://git.kernel.org/linus/6ceb6346b0436ea6591c33ab6ab22e5077ed17e7>`__,
807+
808+
809+
User visible changes, features:
810+
811+
- rebuilding of the free space tree at mount time is done in more transactions,
812+
fix potential hangs when the transaction thread is blocked due to large
813+
amount of block groups
814+
815+
- more read IO balancing strategies (experimental config), add two new ways how
816+
to select a device for read if the profiles allow that (all RAID1*), the
817+
current default selects the device by pid which is good on average but less
818+
performant for single reader workloads
819+
820+
- select preferred device for all reads (namely for testing)
821+
- round-robin, balance reads across devices relevant for the requested IO range
822+
823+
- add encoded write ioctl support to io_uring (read was added in
824+
6.12), basis for writing send stream using that instead of
825+
syscalls, non-blocking mode is not yet implemented
826+
827+
- support FS_IOC_READ_VERITY_METADATA, applications can use the
828+
metadata to do their own verification
829+
830+
- pass inode's i_write_hint to bios, for parity with other
831+
filesystems, ioctls F_GET_RW_HINT/F_SET_RW_HINT
832+
833+
Core:
834+
835+
- in zoned mode: allow to directly reclaim a block group by simply
836+
resetting it, then it can be reused and another block group does
837+
not need to be allocated
838+
839+
- super block validation now also does more comprehensive sys array
840+
validation, adding it to the points where superblock is validated
841+
(post-read, pre-write)
842+
843+
- subpage mode fixes:
844+
- fix double accounting of blocks due to some races
845+
- improved or fixed error handling in a few cases (compression,
846+
delalloc)
847+
848+
- raid stripe tree:
849+
- fix various cases with extent range splitting or deleting
850+
- implement hole punching to extent range
851+
- reduce number of stripe tree lookups during bio submission
852+
- more self-tests
853+
854+
- updated self-tests (delayed refs)
855+
856+
- error handling improvements
857+
858+
- cleanups, refactoring
859+
- remove rest of backref caching infrastructure from relocation,
860+
not needed anymore
861+
- error message updates
862+
- remove unnecessary calls when extent buffer was marked dirty
863+
- unused parameter removal
864+
- code moved to new files
717865

718866
5.x
719867
---

0 commit comments

Comments
 (0)