@@ -13,11 +13,7 @@ DESCRIPTION
1313
1414.. note ::
1515 To use qgroup you need to enable quota first using :command: `btrfs quota enable `
16- command.
17-
18- .. warning ::
19- Qgroup is not stable yet and will impact performance in current mainline
20- kernel (v4.14).
16+ command, see :doc: `btrfs-quota `.
2117
2218QGROUP
2319------
@@ -26,10 +22,10 @@ Quota groups or qgroup in btrfs make a tree hierarchy, the leaf qgroups are
2622attached to subvolumes. The size limits are set per qgroup and apply when any
2723limit is reached in tree that contains a given subvolume.
2824
29- The limits are separated between shared and exclusive and reflect the extent
25+ The limits are separated between * shared * and * exclusive * and reflect the extent
3026ownership. For example a fresh snapshot shares almost all the blocks with the
3127original subvolume, new writes to either subvolume will raise towards the
32- exclusive limit.
28+ exclusive limit. Extent sharing is also result of * reflink * or * deduplication *.
3329
3430.. note ::
3531 Qgroup limit only works when qgroup is in a consistent state.
@@ -40,11 +36,12 @@ exclusive limit.
4036The qgroup identifiers conform to *level/id * where level 0 is reserved to the
4137qgroups associated with subvolumes. Such qgroups are created automatically.
4238
43- The qgroup hierarchy is built by commands :command: `create ` and :command: `assign `.
39+ The qgroup hierarchy is built by commands :command: `btrfs qgroup create ` and
40+ :command: `btrfs qgroup assign `.
4441
4542.. note ::
46- If the qgroup of a subvolume is destroyed, quota about the subvolume will
47- not be functional until qgroup *0/<subvolume id> * is created again.
43+ If the qgroup of a subvolume is destroyed, quota related to the subvolume
44+ will not be functional until qgroup *0/<subvolume id> * is created again.
4845
4946SUBCOMMAND
5047----------
@@ -78,8 +75,9 @@ destroy <qgroupid> <path>
7875
7976clear-stale <path>
8077 Clear all stale qgroups whose subvolume does not exist anymore, this is the
81- level 0 qgroup like 0/subvolid. Higher level qgroups are not deleted even
82- if they don't have any child qgroups.
78+ level 0 qgroup like *0/subvolid *. Higher level qgroups are not deleted even
79+ if they don't have any child qgroups as they are always created by the
80+ user and their deletion should be verified first.
8381
8482limit [options] <size>|none [<qgroupid>] <path>
8583 Limit the size of a qgroup to *size * or no limit in the btrfs filesystem
@@ -161,21 +159,21 @@ show [options] <path>
161159
162160SPECIAL PATHS
163161-------------
164- For `btrfs qgroup show ` subcommand , the `` path `` column may has some special
165- strings :
162+ For :command: `btrfs qgroup show ` command , the :file: ` path ` column can print
163+ special values :
166164
167165`<toplevel> `
168- The toplevel subvolume
166+ The toplevel subvolume.
169167
170168`<under deletion> `
171- The subvolume has been deleted (it's directory removed), but the
169+ The subvolume has been deleted (its directory removed), but the
172170 subvolume metadata not not yet fully cleaned.
173171
174172`<squota space holder> `
175- For simple quota mode only.
173+ For * simple quota * mode only.
176174 By its design, a fully deleted subvolume may still have accounting on
177- it, so even the subvolume is gone, the numbers are still here for future
178- accounting.
175+ it, so even if the subvolume is gone, the numbers are still here for
176+ future accounting.
179177
180178`<stale> `
181179 The qgroup has no corresponding subvolume anymore, and the qgroup
@@ -190,7 +188,7 @@ QUOTA RESCAN
190188The rescan reads all extent sharing metadata and updates the respective qgroups
191189accordingly.
192190
193- The information consists of bytes owned exclusively (*excl *) or shared/referred
191+ The information consists of bytes owned exclusively (*excl *) or shared/referenced
194192to (*rfer *). There's no explicit information about which extents are shared or
195193owned exclusively. This means when qgroup relationship changes, extent owners
196194change and qgroup numbers are no longer consistent unless we do a full rescan.
0 commit comments