Skip to content

Commit 2573dba

Browse files
committed
btrfs-progs: docs: formatting fixes in Kernel-by-version
- reformat or reflow nested lists - links in () without description [ci skip] Signed-off-by: David Sterba <dsterba@suse.com>
1 parent 48b8a3f commit 2573dba

File tree

1 file changed

+118
-102
lines changed

1 file changed

+118
-102
lines changed

Documentation/Kernel-by-version.rst

Lines changed: 118 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Pull requests:
3636
if supported
3737
- send 'otime' (inode creation time) among other timestamps
3838
- send file attributes (a.k.a file flags and xflags)
39+
3940
- this is first version bump, backward compatibility on send and
4041
receive side is provided
4142
- there are still some known and wanted commands that will be
@@ -439,31 +440,36 @@ Pull requests:
439440

440441
New features:
441442

442-
- raid-stripe-tree: New tree for logical file extent mapping where the
443-
physical mapping may not match on multiple devices. This is now used in zoned
444-
mode to implement RAID0/RAID1* profiles, but can be used in non-zoned mode as
445-
well. The support for RAID56 is in development and will eventually fix the
446-
problems with the current implementation. This is a backward incompatible
447-
feature and has to be enabled at mkfs time.
443+
- raid-stripe-tree:
444+
445+
- New tree for logical file extent mapping where the physical mapping may not
446+
match on multiple devices. This is now used in zoned mode to implement
447+
RAID0/RAID1* profiles, but can be used in non-zoned mode as well. The
448+
support for RAID56 is in development and will eventually fix the problems
449+
with the current implementation. This is a backward incompatible feature
450+
and has to be enabled at mkfs time.
451+
452+
- simple quota accounting (squota):
453+
454+
- A simplified mode of qgroup that accounts all space on the initial extent
455+
owners (a subvolume), the snapshots are then cheap to create and delete.
456+
The deletion of snapshots in fully accounting qgroups is a known CPU/IO
457+
performance bottleneck.
448458

449-
- simple quota accounting (squota): A simplified mode of qgroup that accounts
450-
all space on the initial extent owners (a subvolume), the snapshots are then
451-
cheap to create and delete. The deletion of snapshots in fully accounting
452-
qgroups is a known CPU/IO performance bottleneck.
459+
- Note: The squota is not suitable for the general use case but works well
460+
for containers where the original subvolume exists for the whole time. This
461+
is a backward incompatible feature as it needs extending some structures,
462+
but can be enabled on an existing filesystem.
453463

454-
Note: The squota is not suitable for the general use case but works well for
455-
containers where the original subvolume exists for the whole time. This is a
456-
backward incompatible feature as it needs extending some structures, but can
457-
be enabled on an existing filesystem.
464+
- temporary filesystem fsid (temp_fsid):
458465

459-
- temporary filesystem fsid (temp_fsid): The fsid identifies a filesystem and
460-
is hard coded in the structures, which disallows mounting the same fsid found
461-
on different devices.
466+
- The fsid identifies a filesystem and is hard coded in the structures, which
467+
disallows mounting the same fsid found on different devices.
462468

463-
For a single device filesystem this is not strictly necessary, a new
464-
temporary fsid can be generated on mount e.g. after a device is cloned. This
465-
will be used by Steam Deck for root partition A/B testing, or can be used for
466-
VM root images.
469+
- For a single device filesystem this is not strictly necessary, a new
470+
temporary fsid can be generated on mount e.g. after a device is cloned.
471+
This will be used by Steam Deck for root partition A/B testing, or can be
472+
used for VM root images.
467473

468474
- filesystems with partially finished metadata_uuid conversion cannot be
469475
mounted anymore and the uuid fixup has to be done by btrfs-progs (btrfstune).
@@ -512,20 +518,22 @@ Pull requests:
512518
Core changes:
513519

514520
- convert extent buffers to folios:
515-
- direct API conversion where possible
516-
- performance can drop by a few percent on metadata heavy
517-
workloads, the folio sizes are not constant and the calculations
518-
add up in the item helpers
519-
- both regular and subpage modes
520-
- data cannot be converted yet, we need to port that to iomap and
521-
there are some other generic changes required
521+
522+
- direct API conversion where possible
523+
- performance can drop by a few percent on metadata heavy
524+
workloads, the folio sizes are not constant and the calculations
525+
add up in the item helpers
526+
- both regular and subpage modes
527+
- data cannot be converted yet, we need to port that to iomap and
528+
there are some other generic changes required
522529

523530
- convert mount to the new API, should not be user visible:
524-
- options deprecated long time ago have been removed: inode_cache,
525-
recovery
526-
- the new logic that splits mount to two phases slightly changes
527-
timing of device scanning for multi-device filesystems
528-
- LSM options will now work (like for selinux)
531+
532+
- options deprecated long time ago have been removed: inode_cache,
533+
recovery
534+
- the new logic that splits mount to two phases slightly changes
535+
timing of device scanning for multi-device filesystems
536+
- LSM options will now work (like for selinux)
529537

530538
- convert delayed nodes radix tree to xarray, preserving the
531539
preload-like logic that still allows to allocate with GFP_NOFS
@@ -576,15 +584,17 @@ Performance improvements:
576584
delayed allocation bits, applies to several common workload types
577585

578586
- features under CONFIG_BTRFS_DEBUG:
579-
- sysfs knob for setting the how checksums are calculated when submitting IO,
580-
inline or offloaded to a thread, this affects latency and throughput on some
581-
block group profiles
587+
588+
- sysfs knob for setting the how checksums are calculated when submitting IO,
589+
inline or offloaded to a thread, this affects latency and throughput on some
590+
block group profiles
582591

583592
Notable fixes:
584593

585594
- fix device tracking in memory that broke grub-probe
586595

587596
- zoned mode fixes:
597+
588598
- use zone-aware super block access during scrub
589599
- delete zones that are 100% unusable to reclaim space
590600

@@ -643,29 +653,32 @@ Pull requests:
643653
User visible features:
644654

645655
- dynamic block group reclaim:
646-
- tunable framework to avoid situations where eager data allocations prevent
647-
creating new metadata chunks due to lack of unallocated space
648-
- reuse sysfs knob bg_reclaim_threshold (otherwise used only in zoned mode)
649-
for a fixed value threshold
650-
- new on/off sysfs knob "dynamic_reclaim" calculating the value based on
651-
heuristics, aiming to keep spare working space for relocating chunks but
652-
not to needlessly relocate partially utilized block groups or reclaim newly
653-
allocated ones
654-
- stats are exported in sysfs per block group type, files "reclaim_*"
655-
- this may increase IO load at unexpected times but the corner case of no
656-
allocatable block groups is known to be worse
656+
657+
- tunable framework to avoid situations where eager data allocations prevent
658+
creating new metadata chunks due to lack of unallocated space
659+
- reuse sysfs knob bg_reclaim_threshold (otherwise used only in zoned mode)
660+
for a fixed value threshold
661+
- new on/off sysfs knob "dynamic_reclaim" calculating the value based on
662+
heuristics, aiming to keep spare working space for relocating chunks but
663+
not to needlessly relocate partially utilized block groups or reclaim newly
664+
allocated ones
665+
- stats are exported in sysfs per block group type, files "reclaim_*"
666+
- this may increase IO load at unexpected times but the corner case of no
667+
allocatable block groups is known to be worse
657668

658669
- automatically remove qgroup of deleted subvolumes:
659-
- adjust qgroup removal conditions, make sure all related subvolume data are
660-
already removed, or return EBUSY, also take into account setting of sysfs
661-
drop_subtree_threshold
662-
- also works in squota mode
663670

664-
- mount option updates: new modes of 'rescue=' that allow to mount images
665-
(read-only) that could have been partially converted by user space tools
666-
- ignoremetacsums - invalid metadata checksums are ignored
667-
- ignoresuperflags - super block flags that track conversion in progress
668-
(like UUID or checksums)
671+
- adjust qgroup removal conditions, make sure all related subvolume data are
672+
already removed, or return EBUSY, also take into account setting of sysfs
673+
drop_subtree_threshold
674+
- also works in squota mode
675+
676+
- mount option updates: new modes of 'rescue=' that allow to mount images
677+
(read-only) that could have been partially converted by user space tools
678+
679+
- ignoremetacsums - invalid metadata checksums are ignored
680+
- ignoresuperflags - super block flags that track conversion in progress
681+
(like UUID or checksums)
669682

670683
Other notable changes or fixes:
671684

@@ -771,15 +784,17 @@ Performance improvements:
771784
Core changes:
772785

773786
- raid-stripe-tree feature updates:
774-
- make device replace and scrub work
775-
- implement partial deletion of stripe extents
776-
- new selftests
787+
788+
- make device replace and scrub work
789+
- implement partial deletion of stripe extents
790+
- new selftests
777791

778792
- split the config option BTRFS_DEBUG and add EXPERIMENTAL for
779793
features that are experimental or with known problems so we don't
780794
misuse debugging config for that
781795

782796
- subpage mode updates (sector < page):
797+
783798
- update compression implementations
784799
- update writepage, writeback
785800

@@ -840,27 +855,30 @@ Core:
840855
(post-read, pre-write)
841856

842857
- subpage mode fixes:
843-
- fix double accounting of blocks due to some races
844-
- improved or fixed error handling in a few cases (compression,
845-
delalloc)
858+
859+
- fix double accounting of blocks due to some races
860+
- improved or fixed error handling in a few cases (compression,
861+
delalloc)
846862

847863
- raid stripe tree:
848-
- fix various cases with extent range splitting or deleting
849-
- implement hole punching to extent range
850-
- reduce number of stripe tree lookups during bio submission
851-
- more self-tests
864+
865+
- fix various cases with extent range splitting or deleting
866+
- implement hole punching to extent range
867+
- reduce number of stripe tree lookups during bio submission
868+
- more self-tests
852869

853870
- updated self-tests (delayed refs)
854871

855872
- error handling improvements
856873

857874
- cleanups, refactoring
858-
- remove rest of backref caching infrastructure from relocation,
859-
not needed anymore
860-
- error message updates
861-
- remove unnecessary calls when extent buffer was marked dirty
862-
- unused parameter removal
863-
- code moved to new files
875+
876+
- remove rest of backref caching infrastructure from relocation,
877+
not needed anymore
878+
- error message updates
879+
- remove unnecessary calls when extent buffer was marked dirty
880+
- unused parameter removal
881+
- code moved to new files
864882

865883
6.15 (May 2025)
866884
^^^^^^^^^^^^^^^
@@ -2036,7 +2054,7 @@ Fixes:
20362054
^^^^^^^^^^^^^^
20372055

20382056
* restriper - infrastructure to change btrfs raid profiles on the fly via balance
2039-
* optional integrity checker infrastructure ([http://lwn.net/Articles/466493/ details])
2057+
* optional integrity checker infrastructure (http://lwn.net/Articles/466493)
20402058
* fixed a few corner cases where TRIM did not process some blocks
20412059
* cluster allocator improvements (less fragmentation, some speedups)
20422060

@@ -2073,8 +2091,8 @@ Fixes:
20732091
^^^^^^^^^^^^^^
20742092

20752093
* subvolume-aware quotas (''qgroups'')
2076-
* support for send/receive between snapshot changes ([http://lwn.net/Articles/506244/ LWN article])
2077-
* ''atime'' is not updated on read-only snapshots ([http://lwn.net/Articles/499293/ LWN article])
2094+
* support for send/receive between snapshot changes (http://lwn.net/Articles/506244)
2095+
* ''atime'' is not updated on read-only snapshots (http://lwn.net/Articles/499293)
20782096
* allowed cross-subvolume file clone (aka. reflink)
20792097
* remount with ''no'' compression possible
20802098
* new ioctl to read device readiness status
@@ -2085,37 +2103,37 @@ Fixes:
20852103

20862104
* ''fsync'' speedups
20872105
* removed limitation of number of hardlinks in a single directory
2088-
* file hole punching ([http://lwn.net/Articles/415889/ LWN article])
2106+
* file hole punching (http://lwn.net/Articles/415889)
20892107
* per-file ''NOCOW''
20902108
* fixes to send/receive
20912109

20922110
3.8 (Feb 2013)
20932111
^^^^^^^^^^^^^^
20942112

2095-
* ability to replace devices at runtime in an effective way ([http://lwn.net/Articles/524589/ description])
2113+
* ability to replace devices at runtime in an effective way (http://lwn.net/Articles/524589)
20962114
* speed improvements (cumulative effect of many small improvements)
20972115
* a few more bugfixes
20982116

20992117
3.9 (Apr 2013)
21002118
^^^^^^^^^^^^^^
21012119

2102-
* preliminary Raid 5/6 support (details in the [http://www.spinics.net/lists/linux-btrfs/msg22169.html announcement])
2120+
* preliminary Raid 5/6 support (details in http://www.spinics.net/lists/linux-btrfs/msg22169.html)
21032121
* snapshot-aware defrag
21042122
* a mode of ''send'' to avoid transferring file data
2105-
* direct IO speedup ([https://patchwork.kernel.org/patch/2114921/ numbers])
2123+
* direct IO speedup (https://patchwork.kernel.org/patch/2114921)
21062124
* new ''ioctl''s to set/get filesystem label
21072125
* defrag is cancellable
21082126

21092127
3.10 (Jun 2013)
21102128
^^^^^^^^^^^^^^^
21112129

2112-
* reduced size of metadata by so-called :ref:`skinny extents<mkfs-feature-skinny-metadata>` [http://git.kernel.org/linus/3173a18f70554fe7880bb2d85c7da566e364eb3c]
2113-
* enhanced syslog message format [http://permalink.gmane.org/gmane.comp.file-systems.btrfs/24330]
2130+
* reduced size of metadata by so-called :ref:`skinny extents<mkfs-feature-skinny-metadata>` (http://git.kernel.org/linus/3173a18f70554fe7880bb2d85c7da566e364eb3c)
2131+
* enhanced syslog message format (http://permalink.gmane.org/gmane.comp.file-systems.btrfs/24330)
21142132
* the mount option ''subvolrootid'' is deprecated
21152133
* lots of stability improvements, removed many< BUG_ONs
2116-
* qgroups are automatically created when quotas are enabled [http://git.kernel.org/linus/7708f029dca5f1b9e9d6ea01ab10cd83e4c74ff2]
2134+
* qgroups are automatically created when quotas are enabled (http://git.kernel.org/linus/7708f029dca5f1b9e9d6ea01ab10cd83e4c74ff2)
21172135
* qgroups are able to ''rescan'' current filesystem and sync the quota state with the existing subvolumes
2118-
* enhanced ''send/recv '' format for multiplexing more data into one stream [http://git.kernel.org/linus/c2c71324ecb471c932bc1ff59e46ffcf82f274fc]
2136+
* enhanced ''send/recv '' format for multiplexing more data into one stream (http://git.kernel.org/linus/c2c71324ecb471c932bc1ff59e46ffcf82f274fc)
21192137
* various unsorted code cleanups, minor performance updates
21202138

21212139
3.11 (Sep 2013)
@@ -2159,29 +2177,29 @@ Fixes:
21592177
3.16 (Aug 2014)
21602178
^^^^^^^^^^^^^^^
21612179

2162-
* ''O_TMPFILE'' support [http://kernelnewbies.org/Linux_3.11#head-8be09d59438b31c2a724547838f234cb33c40357]
2180+
* ''O_TMPFILE'' support (http://kernelnewbies.org/Linux_3.11#head-8be09d59438b31c2a724547838f234cb33c40357)
21632181
* reworked qgroup accounting, to fix negative numbers after subvol deletion
2164-
* SEARCH_TREE ioctl v2, extended for retrieving more data [http://www.spinics.net/lists/linux-btrfs/msg31213.html]
2165-
* new balance filter ''limit'' for more finegrained balancing [http://www.spinics.net/lists/linux-btrfs/msg33872.html]
2182+
* SEARCH_TREE ioctl v2, extended for retrieving more data (http://www.spinics.net/lists/linux-btrfs/msg31213.html)
2183+
* new balance filter ''limit'' for more finegrained balancing (http://www.spinics.net/lists/linux-btrfs/msg33872.html)
21662184
* ioctl FS_INFO and it's sysfs counterpart export information about ''nodesize'', ''sectorsize'' and ''clone_alignment''
21672185
* snapshots are protected during send
21682186

21692187
3.17 (Oct 2014)
21702188
^^^^^^^^^^^^^^^
21712189

2172-
* fix for the infamous deadlock [https://git.kernel.org/linus/9e0af23764344f7f1b68e4eefbe7dc865018b63d]
2173-
* fixed longstanding bug in qgroups accounting after snapshot deletion [https://git.kernel.org/linus/1152651a081720ef6a8c76bb7da676e8c900ac30]
2174-
* updated (less inaccurate) ''df'' numbers [https://git.kernel.org/linus/ba7b6e62f420f5a8832bc161ab0c7ba767f65b3d]
2175-
* speedup for ''rename'' and ''truncate'', less strict flushes [https://git.kernel.org/linus/8d875f95da43c6a8f18f77869f2ef26e9594fecc]
2190+
* fix for the infamous deadlock (https://git.kernel.org/linus/9e0af23764344f7f1b68e4eefbe7dc865018b63d)
2191+
* fixed longstanding bug in qgroups accounting after snapshot deletion (https://git.kernel.org/linus/1152651a081720ef6a8c76bb7da676e8c900ac30)
2192+
* updated (less inaccurate) ''df'' numbers (https://git.kernel.org/linus/ba7b6e62f420f5a8832bc161ab0c7ba767f65b3d)
2193+
* speedup for ''rename'' and ''truncate'', less strict flushes (https://git.kernel.org/linus/8d875f95da43c6a8f18f77869f2ef26e9594fecc)
21762194
* updated and fixes to the ''seeding'' feature
21772195

21782196
3.17 (Oct 2014)
21792197
^^^^^^^^^^^^^^^
21802198

2181-
* fix for the infamous deadlock [https://git.kernel.org/linus/9e0af23764344f7f1b68e4eefbe7dc865018b63d]
2182-
* fixed longstanding bug in qgroups accounting after snapshot deletion [https://git.kernel.org/linus/1152651a081720ef6a8c76bb7da676e8c900ac30]
2183-
* updated (less inaccurate) ''df'' numbers [https://git.kernel.org/linus/ba7b6e62f420f5a8832bc161ab0c7ba767f65b3d]
2184-
* speedup for ''rename'' and ''truncate'', less strict flushes [https://git.kernel.org/linus/8d875f95da43c6a8f18f77869f2ef26e9594fecc]
2199+
* fix for the infamous deadlock (https://git.kernel.org/linus/9e0af23764344f7f1b68e4eefbe7dc865018b63d]
2200+
* fixed longstanding bug in qgroups accounting after snapshot deletion (https://git.kernel.org/linus/1152651a081720ef6a8c76bb7da676e8c900ac30)
2201+
* updated (less inaccurate) ''df'' numbers (https://git.kernel.org/linus/ba7b6e62f420f5a8832bc161ab0c7ba767f65b3d)
2202+
* speedup for ''rename'' and ''truncate'', less strict flushes (https://git.kernel.org/linus/8d875f95da43c6a8f18f77869f2ef26e9594fecc)
21852203
* updated and fixes to the ''seeding'' feature
21862204

21872205
3.18 (Dec 2014)
@@ -2211,8 +2229,7 @@ get/set ioctl, allow compression during defrag.
22112229

22122230
On-disk free space cache, asynchronous snapshots, unprivileged subvolume
22132231
deletion, extent buffer switches from a rbtree with spinlocks to a radix tree
2214-
with RCU. (Explanations of these features are described in
2215-
[http://www.linux-mag.com/id/7945 this] article [registration needed]).
2232+
with RCU.
22162233

22172234
2.6.35 (August 2010)
22182235
^^^^^^^^^^^^^^^^^^^^
@@ -2245,16 +2262,16 @@ of space and still show some free space. That space comes from a data/metadata
22452262
chunk that can't get filled because there's not space left to create its
22462263
metadata/data counterpart chunk. This is unrelated to the -ENOSPC handling and
22472264
will be fixed in the future. Code:
2248-
[http://git.kernel.org/linus/9ed74f2dba6ebf9f30b80554290bfc73cc3ef083 (commit)]
2265+
(http://git.kernel.org/linus/9ed74f2dba6ebf9f30b80554290bfc73cc3ef083)
22492266

22502267
Proper snapshot and subvolume deletion
22512268

22522269
In the last btrfs-progs version you have options that allow to delete snapshots
22532270
and subvolumes without having to use rm. This is much faster because it does
22542271
the deletion via btree walking. It's also now possible to rename snapshots and
22552272
subvols. Work done by Yan Zheng (Oracle). Code:
2256-
[http://git.kernel.org/linus/4df27c4d5cc1dda54ed7d0a8389347f2df359cf9 (commit
2257-
1)], [http://git.kernel.org/linus/76dda93c6ae2c1dc3e6cde34569d6aca26b0c918 2)]
2273+
(http://git.kernel.org/linus/4df27c4d5cc1dda54ed7d0a8389347f2df359cf9,
2274+
http://git.kernel.org/linus/76dda93c6ae2c1dc3e6cde34569d6aca26b0c918)
22582275

22592276
Performance improvements
22602277

@@ -2270,9 +2287,8 @@ Support for "discard" operation on SSD devices
22702287

22712288
"Discard" support is a way to telling SSD devices which blocks are free so that
22722289
the underlying firmware knows that it's safe to do some optimizations
2273-
[http://git.kernel.org/linus/e244a0aeb6a599c19a7c802cda6e2d67c847b154
2274-
(commit)],
2275-
[http://git.kernel.org/linus/0634857488ec6e28fa22920cd0bee3c2ac07ccfd (commit)]
2290+
(http://git.kernel.org/linus/e244a0aeb6a599c19a7c802cda6e2d67c847b154,
2291+
http://git.kernel.org/linus/0634857488ec6e28fa22920cd0bee3c2ac07ccfd )
22762292

22772293
0.x
22782294
---

0 commit comments

Comments
 (0)