Skip to content

Commit b449783

Browse files
committedJan 17, 2025
btrfs-progs: docs: update kernel feature updates
Signed-off-by: David Sterba <dsterba@suse.com>
1 parent a743144 commit b449783

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed
 

‎Documentation/Feature-by-version.rst

+89
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,95 @@ features see :doc:`Status<Status>` page.
106106
6.8 - new mount API
107107
Use new mount API (https://lwn.net/Articles/753473/)
108108

109+
6.9 - statx can read the subvolume id
110+
The extendable syscall *statx* also returns the subvolume id and
111+
sets the *result_mask* bit *STATX_SUBVOL*.
112+
113+
6.9 - reflinked file range and concurrent read
114+
An optimization for concurrent access to a range that is reflinked
115+
and read at the same time, the read latency is decreased due to reduced
116+
locking.
117+
118+
6.10 - automatic stale subvolume group removal
119+
This applies to 0 level qgroups (the one automatically created for a
120+
subvolume), once the subvolume is deleted the respective qgroup is
121+
also deleted. This may take some time until the qgroup accounting is
122+
correct and consistent again as the subvolume deletion is delayed.
123+
124+
This is also affected by presence of the subvolume qgroup in higher
125+
level qgroups or the sysfs setting of *drop_subtree_threshold* that will
126+
need a quota rescan.
127+
128+
6.10 - sysfs reports reclaim status
129+
A per-filesystem report of background reclaim status, file names
130+
matching *reclaim_* in the space info directory.
131+
132+
6.10 - tunable dynamic background reclaim threshold
133+
Run background block group reclaim (using the relocation/balance mechanism)
134+
if the used size is above the configured value and the dynamic reclaim
135+
is enabled (not by default). When enabled, there's a heuristic that ties to
136+
avoid increasing system load if there's enough unallocated space but will
137+
try hard (but cannot be perfect) to avoid a situation when there's last
138+
chunk remaining to make the relocation possible.
139+
140+
6.10 - new mount option rescue= mode *ignoremetacsums*
141+
When enabled, any metadata checksum mismatch is ignored (in read-only mount),
142+
this may be useful in an interrupted checksum type conversion (:doc:`btrfstune`).
143+
144+
6.10 - new mount option rescue= mode *ignoresuperflags*
145+
An option to ignore unknown super block flags, at this point applies
146+
only to the interrupted checksum conversion, but can be useful for
147+
similar operations in the future.
148+
149+
6.10 - tree-checker updates
150+
Properly verify all types of directory items and reject unknown ones.
151+
Do relevant device item checks.
152+
153+
6.10 - allow to clone/reflink the tail extent
154+
Check if the last inode extent (not a full block length) can be cloned
155+
and do it, this fixes a problem in send/receive.
156+
157+
6.10 - unlink updates ctime
158+
Mandated by POSIX (https://pubs.opengroup.org/onlinepubs/9699919799/functions/unlink.html),
159+
the link count is changed.
160+
161+
6.11 - unconditionally wake up cleaner thread on SYNC ioctl
162+
Avoid indirection when the BTRFS_IOC_SYNC ioctl is called and wake
163+
up the cleaner thread which is among other things responsible to
164+
clean deleted subvolumes.
165+
166+
6.11 - reduced locking around buffered reads
167+
Improve concurrency by reducing scope of locking around buffered
168+
reads. The direct io is still locked but this should not be mixed with
169+
buffered writes.
170+
171+
6.12 - cancellable discard/TRIM
172+
Add more points where the discard can be interrupted by signals before
173+
it finishes the whole operation.
174+
175+
6.13 - new config option CONFIG_BTRFS_EXPERIMENTAL
176+
Add separate config option to distinguish purely debugging features
177+
(like extended safety checks) and features that still need some
178+
refinements (and were hidden under the debugging config option not to
179+
expose them to users). When enabled this namely covers extent tree v2,
180+
raid stripe tree, send protocol version 3 and checksum offloading strategy.
181+
182+
6.13 - encoded read integration with io_uring
183+
The io_uring subsystem understands a command that is directed to
184+
Btrfs encoded read ioctl.
185+
186+
6.13 - new ioctl to wait for cleaned subvolumes
187+
Add specialized ioctl to wait for deleted (and maybe not yet cleaned)
188+
subvolumes, available to any user. The related command :command:`btrfs subvolume sync`
189+
uses the privileged SEARCH_TREE ioctl otherwise.
190+
191+
6.13 - seeding device use case change
192+
The sprout device (the writable one added to the seeding device) does
193+
not touch the superblock read-only status, preventing removal of
194+
accumulated deleted snapshots to be cleaned.
195+
196+
6.13 - update tree-checker to detect more wrong inline extent references
197+
109198
5.x
110199
---
111200

0 commit comments

Comments
 (0)
Please sign in to comment.