Skip to content

Commit fcd9142

Browse files
committed
btrfs-progs: docs: formatting, fixups, updates
- update Status page - new features in 6.7 - more ioctls - CSS fix to wrap long lines in tables [ci skip] Signed-off-by: David Sterba <dsterba@suse.com>
1 parent ffebbf6 commit fcd9142

File tree

7 files changed

+199
-77
lines changed

7 files changed

+199
-77
lines changed

Documentation/Feature-by-version.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,16 @@ features see :doc:`Status<Status>` page.
9393
finalizing the directory, the cache also gains significant speedups (up
9494
to 10x).
9595

96+
6.7 - raid-stripe-tree
97+
New tree for logical mapping, allows some RAID modes for zoned mode.
98+
99+
6.7 - simplified quota accounting
100+
A simplified mode of qgroups accounting
101+
102+
6.7 - temporary fsid
103+
Mount of cloned devices is now possible, the filesystem will get a new
104+
randomly generated UUID on mount
105+
96106
5.x
97107
---
98108

Documentation/Introduction.rst

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,45 @@ BTRFS is a modern copy on write (COW) filesystem for Linux aimed at
55
implementing advanced features while also focusing on fault tolerance, repair
66
and easy administration. Its main features and benefits are:
77

8-
* Snapshots which do not make a full copy of the files
9-
* Built-in volume management, support for software-based RAID 0, RAID 1, RAID 10 and others
10-
* Self-healing - checksums for data and metadata, automatic detection of silent data corruptions
8+
* Snapshots which do not make a full copy of the files
9+
* Built-in volume management, support for software-based RAID 0, RAID 1, RAID 10 and others
10+
* Self-healing - checksums for data and metadata, automatic detection of silent data corruptions
1111

1212
Feature overview:
1313

14-
* Extent based file storage
15-
* 2\ :sup:`64` byte == 16 EiB maximum file size (practical limit is 8 EiB due to Linux VFS)
16-
* Space-efficient packing of small files
17-
* Space-efficient indexed directories
18-
* Dynamic inode allocation
19-
* Writable snapshots, read-only snapshots
20-
* Subvolumes (separate internal filesystem roots)
21-
* Checksums on data and metadata (crc32c, xxhash, sha256, blake2b)
22-
* Compression (ZLIB, LZO, ZSTD), heuristics
23-
* Integrated multiple device support
24-
* File Striping
25-
* File Mirroring
26-
* File Striping+Mirroring
27-
* Single and Dual Parity implementations (experimental, not production-ready)
28-
* SSD (flash storage) awareness (TRIM/Discard for reporting free blocks for
29-
reuse) and optimizations (e.g. avoiding unnecessary seek optimizations,
30-
sending writes in clusters, even if they are from unrelated files. This
31-
results in larger write operations and faster write throughput)
32-
* Efficient incremental backup
33-
* Background scrub process for finding and repairing errors of files with redundant copies
34-
* Online filesystem defragmentation
35-
* Offline filesystem check
36-
* In-place conversion of existing ext2/3/4 and reiserfs file systems
37-
* Seed devices. Create a (readonly) filesystem that acts as a template to seed
38-
other Btrfs filesystems. The original filesystem and devices are included as
39-
a readonly starting point for the new filesystem. Using copy on write, all
40-
modifications are stored on different devices; the original is unchanged.
41-
* Subvolume-aware quota support
42-
* Send/receive of subvolume changes
43-
* Efficient incremental filesystem mirroring
44-
* Batch, or out-of-band deduplication (happens after writes, not during)
45-
* Swapfile support
46-
* Tree-checker, post-read and pre-write metadata verification
47-
* Zoned mode support (SMR/ZBC/ZNS friendly allocation)
14+
* Extent based file storage
15+
* 2\ :sup:`64` byte == 16 EiB maximum file size (practical limit is 8 EiB due to Linux VFS)
16+
* Space-efficient packing of small files
17+
* Space-efficient indexed directories
18+
* Dynamic inode allocation
19+
* Writable snapshots, read-only snapshots
20+
* Subvolumes (separate internal filesystem roots)
21+
* Checksums on data and metadata (crc32c, xxhash, sha256, blake2b)
22+
* Compression (ZLIB, LZO, ZSTD), heuristics
23+
* Integrated multiple device support
24+
25+
* File Striping
26+
* File Mirroring
27+
* File Striping+Mirroring
28+
* Single and Dual Parity implementations (experimental, not production-ready)
29+
* SSD (flash storage) awareness (TRIM/Discard for reporting free blocks for
30+
reuse) and optimizations (e.g. avoiding unnecessary seek optimizations,
31+
sending writes in clusters, even if they are from unrelated files. This
32+
results in larger write operations and faster write throughput)
33+
* Efficient incremental backup
34+
* Background scrub process for finding and repairing errors of files with redundant copies
35+
* Online filesystem defragmentation
36+
* Offline filesystem check
37+
* In-place conversion of existing ext2/3/4 and reiserfs file systems
38+
* Seed devices. Create a (readonly) filesystem that acts as a template to seed
39+
other Btrfs filesystems. The original filesystem and devices are included as
40+
a readonly starting point for the new filesystem. Using copy on write, all
41+
modifications are stored on different devices; the original is unchanged.
42+
* Subvolume-aware quota support
43+
* Send/receive of subvolume changes
44+
45+
* Efficient incremental filesystem mirroring
46+
* Batch, or out-of-band deduplication (happens after writes, not during)
47+
* Swapfile support
48+
* Tree-checker, post-read and pre-write metadata verification
49+
* Zoned mode support (SMR/ZBC/ZNS friendly allocation)

Documentation/Status.rst

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ in meeting your performance expectations for your specific workload.
1313
Combination of features can vary in performance, the table does not
1414
cover all possibilities.
1515

16-
**The table is based on the latest released linux kernel: 6.5**
16+
**The table is based on the latest released linux kernel: 6.6**
1717

1818
The columns for each feature reflect the status of the implementation
1919
in following ways:
@@ -123,6 +123,10 @@ in following ways:
123123
- :statusok:`OK`
124124
- OK
125125
-
126+
* - Temporary UUID
127+
- 6.7
128+
- 6.7
129+
-
126130
* - :doc:`Seeding<Seeding-device>`
127131
- :statusok:`OK`
128132
- OK
@@ -131,6 +135,10 @@ in following ways:
131135
- :statusmok:`mostly OK`
132136
- mostly OK
133137
- qgroups with many snapshots slows down balance
138+
* - :doc:`Quotas, simple qgroups<Qgroups>`
139+
- 6.7
140+
- 6.7
141+
- simplified qgroup accounting, better performance
134142
* - :doc:`Swapfile<Swapfile>`
135143
- :statusok:`OK`
136144
- n/a
@@ -226,7 +234,11 @@ converted later).
226234
- :statusok:`OK`
227235
- OK
228236
-
229-
* - :ref:`Block group tree`<mkfs-feature-block-group-tree>`
237+
* - :ref:`Block group tree<mkfs-feature-block-group-tree>`
238+
- :statusok:`OK`
239+
- OK
240+
-
241+
* - :ref:`Raid stripe tree<mkfs-feature-raid-stripe-tree>`
230242
- :statusok:`OK`
231243
- OK
232244
-
@@ -321,7 +333,7 @@ are unaffected by the zoned device constraints.
321333
- Notes
322334
* - Boot
323335
- :statusincompat:`incompatible`
324-
- The blocks where partition table is stored is used for super block
336+
- The blocks where partition table is stored are used for super block
325337
* - Mixed block groups
326338
- :statusincompat:`incompatible`
327339
- Interleaving data and metadata would lead to out of order write
@@ -343,6 +355,12 @@ are unaffected by the zoned device constraints.
343355
* - Free space tree
344356
- :statusok:`supported`
345357
-
358+
* - Block group tree
359+
- :statusok:`supported`
360+
-
361+
* - Raid stripe tree
362+
- :statusok:`supported`
363+
- Allows to use RAID in zoned mode
346364
* - Filesystem resize
347365
- :statusok:`supported`
348366
-
@@ -352,9 +370,12 @@ are unaffected by the zoned device constraints.
352370
* - Metadata UUID change
353371
- :statusok:`supported`
354372
-
355-
* - RAID (all)
373+
* - RAID0, RAID1*
374+
- :statusok:`supported`
375+
- requires `raid-stripe-tree`
376+
* - RAID56
356377
- not implemented
357-
- This requires raid-stripe-tree feature which is still work in progress
378+
- will be supported once raid-stripe-tree support is implemented
358379
* - discard
359380
- not implemented
360381
- May not be required at all due to automatic zone reclaim

Documentation/_static/style.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
max-width: 1200px !important;
33
}
44

5+
.wy-table-responsive {
6+
white-space: normal !important;
7+
}
8+
9+
.wy-table-responsive table td, .wy-table-responsive table th {
10+
white-space: normal !important;
11+
}
12+
513
.green {
614
color: green;
715
}

0 commit comments

Comments
 (0)