@@ -13,7 +13,7 @@ in meeting your performance expectations for your specific workload.
13
13
Combination of features can vary in performance, the table does not
14
14
cover all possibilities.
15
15
16
- **The table is based on the latest released linux kernel: 6.3 **
16
+ **The table is based on the latest released linux kernel: 6.4 **
17
17
18
18
The columns for each feature reflect the status of the implementation
19
19
in following ways:
@@ -32,7 +32,9 @@ in following ways:
32
32
33
33
.. role :: statusok
34
34
.. role :: statusmok
35
- .. role :: statusunst
35
+ .. role :: statusunstable
36
+ .. role :: statusunsupp
37
+ .. role :: statusincompat
36
38
37
39
.. list-table ::
38
40
:header-rows: 1
@@ -126,7 +128,7 @@ in following ways:
126
128
- mostly OK
127
129
- reading from mirrors in parallel can be optimized further (see below)
128
130
* - :ref: `RAID56<mkfs-section-profiles> `
129
- - :statusunst : `unstable `
131
+ - :statusunstable : `unstable `
130
132
- n/a
131
133
- (see below)
132
134
* - Mixed block groups
@@ -220,11 +222,12 @@ in following ways:
220
222
* - :doc: `Subpage block size<Subpage> `
221
223
- :statusmok: `mostly OK `
222
224
- mostly OK
223
- -
225
+ - Also see table below for more detailed compatibility.
224
226
* - :doc: `Zoned mode<Zoned-mode> `
225
227
- :statusmok: `mostly OK `
226
228
- mostly OK
227
- - there are known bugs, use only for testing
229
+ - Not yet feature complete but moderately stable, also see table below
230
+ for more detailed compatibility.
228
231
229
232
Please open an issue if:
230
233
@@ -233,6 +236,8 @@ Please open an issue if:
233
236
worth mentioning separately
234
237
- you know of a bug that lowers the feature status
235
238
239
+ .. _status-subpage-block-size :
240
+
236
241
Subpage block size
237
242
------------------
238
243
@@ -247,55 +252,84 @@ with subpage or require another feature to work:
247
252
- Status
248
253
- Notes
249
254
* - Inline files
250
- - unsupported
251
- - The max_inline mount option value is ignored
255
+ - :statusunsupp: ` unsupported `
256
+ - The max_inline mount option value is ignored, as if mounted with max_inline=0
252
257
* - Free space cache v1
253
- - unsupported
254
- - Free space tree is mandatory
258
+ - :statusunsupp: ` unsupported `
259
+ - Free space tree is mandatory, v1 has some assumptions about page size
255
260
* - Compression
256
- - partial support
261
+ - :statusok: ` partial support `
257
262
- Only page-aligned ranges can be compressed
263
+ * - Sectorsize
264
+ - :statusok: `supported `
265
+ - The list of supported sector sizes on a given version can be found
266
+ in file :file: `/sys/fs/btrfs/features/supported_sectorsizes `
258
267
259
268
260
269
Zoned mode
261
270
----------
262
271
272
+ Features that completely incompatible with zoned mode are listed below.
273
+ Compatible features may not be listed and are assumed to work as they
274
+ are unaffected by the zoned device constraints.
275
+
263
276
.. list-table ::
264
277
:header-rows: 1
265
278
266
279
* - Feature
267
280
- Status
268
281
- Notes
269
282
* - Boot
270
- - incompatible
283
+ - :statusincompat: ` incompatible `
271
284
- The blocks where partition table is stored is used for super block
272
285
* - Mixed block groups
273
- - incompatible
286
+ - :statusincompat: ` incompatible `
274
287
- Interleaving data and metadata would lead to out of order write
275
288
* - NODATACOW
276
- - incompatible
289
+ - :statusincompat: ` incompatible `
277
290
- In-place overwrite
278
291
* - fallocate
279
- - incompatible
292
+ - :statusincompat: ` incompatible `
280
293
- Preallocation of blocks would require an out of order write
281
294
* - Free space cache v1
282
- - incompatible
295
+ - :statusincompat: ` incompatible `
283
296
- Cache data are updated in a NODATACOW-way
297
+ * - Swapfile
298
+ - :statusincompat: `incompatible `
299
+ - Swap blocks are written out of order
300
+ * - Offline UUID change
301
+ - :statusincompat: `incompatible `
302
+ - Metadata blocks are updated in-place
284
303
* - Free space tree
285
- - supported
304
+ - :statusok: ` supported `
286
305
-
287
- * - fstrim
288
- - not implemented
289
- - This would require free space v1
290
306
* - single profile
291
- - supported
307
+ - :statusok: ` supported `
292
308
- Both data and metadata
293
309
* - DUP profile
294
- - partial support
310
+ - :statusok: ` partial support `
295
311
- Only for metadata
312
+ * - Filesystem resize
313
+ - :statusok: `supported `
314
+ -
315
+ * - Balance
316
+ - :statusok: `supported `
317
+ -
318
+ * - Metadata UUID change
319
+ - :statusok: `supported `
320
+ -
296
321
* - RAID (all)
297
322
- not implemented
298
323
- This requires raid-stripe-tree feature which is still work in progress
324
+ * - discard
325
+ - not implemented
326
+ - May not be required at all due to automatic zone reclaim
327
+ * - fsverity
328
+ - TBD
329
+ -
330
+ * - seeding
331
+ - TBD
332
+ -
299
333
300
334
301
335
Details that do not fit the table
0 commit comments