2014-04-02 08:29:24 +00:00
|
|
|
btrfs-qgroup(8)
|
|
|
|
===============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
btrfs-qgroup - control the quota group of a btrfs filesystem
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
2014-05-19 15:49:35 +00:00
|
|
|
*btrfs qgroup* <subcommand> <args>
|
2014-04-02 08:29:24 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2014-05-19 15:49:35 +00:00
|
|
|
*btrfs qgroup* is used to control quota group(qgroup) of a btrfs filesystem.
|
2014-04-02 08:29:24 +00:00
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
NOTE: To use qgroup, it needs to enable quota first using *btrfs quota*
|
2014-04-02 08:29:24 +00:00
|
|
|
command.
|
|
|
|
|
|
|
|
WARNING: Qgroup is not stable yet and will impact performance in current mainline
|
|
|
|
kernel(v3.14 so far).
|
|
|
|
|
|
|
|
QGROUP
|
|
|
|
------
|
|
|
|
Quota group or qgroup in btrfs has its hierarchy like subvolume.
|
|
|
|
One subvolume/snapshot can reach its quota limits if it consumes all the quota
|
|
|
|
assigned to it or any of the parent qgroup(s).
|
|
|
|
|
|
|
|
Also for snapshot, it consumes no quota initially since all its data
|
|
|
|
shares with its parent, so only modification in snapshot consumes quota.
|
|
|
|
|
|
|
|
Every subvolume/snapshot will have its own qgroup with id '0/<subvolume id>'
|
2014-05-19 15:49:35 +00:00
|
|
|
upon creating, but can be later destroyed by *btrfs qgroup destroy* command.
|
2014-04-02 08:29:24 +00:00
|
|
|
|
|
|
|
NOTE: If the qgroup of a subvolume is destroyed, quota about the subvolume
|
|
|
|
will not be functional until qgroup '0/<subvolume id>' is created again.
|
|
|
|
|
|
|
|
SUBCOMMAND
|
|
|
|
----------
|
2014-05-19 15:49:35 +00:00
|
|
|
*assign* <src> <dst> <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Assign qgroup <src> as the child qgroup of <dst> in the btrfs filesystem
|
|
|
|
identified by <path>.
|
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*remove* <src> <dst> <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Remove the relationship between child qgroup <src> and parent qgroup <dst> in
|
|
|
|
the btrfs filesystem identified by <path>.
|
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*create* <qgroupid> <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Create a subvolume quota group.
|
|
|
|
+
|
|
|
|
For the '0/<subvolume id>' qgroup, a qgroup can be created even before the
|
|
|
|
subvolume created.
|
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*destroy* <qgroupid> <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Destroy a qgroup.
|
|
|
|
+
|
|
|
|
If a qgroup is no isolated,which means it is a parent or child qgroup, it
|
|
|
|
can't be destroyed.
|
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*show* [options] <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Show all qgroups in the btrfs filesystem identified by <path>.
|
|
|
|
+
|
|
|
|
`Options`
|
|
|
|
+
|
|
|
|
-p::::
|
|
|
|
print parent qgroup id.
|
|
|
|
-c::::
|
|
|
|
print child qgroup id.
|
|
|
|
-r::::
|
|
|
|
print max referenced size of qgroup.
|
|
|
|
-e::::
|
|
|
|
print max exclusive size of qgroup.
|
|
|
|
-F::::
|
|
|
|
list all qgroups which impact the given path(include ancestral qgroups)
|
|
|
|
-f::::
|
|
|
|
list all qgroups which impact the given path(exclude ancestral qgroups)
|
2014-05-19 15:08:56 +00:00
|
|
|
--sort=[\+/-]<attr>[,[+/-]<attr>]...::::
|
|
|
|
list qgroups in order of <attr>.
|
2014-04-02 08:29:24 +00:00
|
|
|
+
|
2014-05-19 15:08:56 +00:00
|
|
|
<attr> can be one or more of qgroupid,rfer,excl,max_rfer,max_excl.
|
2014-04-02 08:29:24 +00:00
|
|
|
+
|
2014-05-19 15:08:56 +00:00
|
|
|
Prefix \'+' means ascending order and \'-' means descending order of <attr>.
|
2014-04-02 08:29:24 +00:00
|
|
|
If no prefix is given, use ascending order by default.
|
|
|
|
+
|
2014-05-19 15:08:56 +00:00
|
|
|
If multiple <attr>s is given, use comma to separate.
|
2014-04-02 08:29:24 +00:00
|
|
|
|
2014-05-19 15:49:35 +00:00
|
|
|
*limit* [options] <size>|none [<qgroupid>] <path>::
|
2014-04-02 08:29:24 +00:00
|
|
|
Limit the size of a qgroup to <size> or no limit in the btrfs filesystem
|
|
|
|
identified by <path>.
|
|
|
|
+
|
|
|
|
If <qgroupid> is not given, qgroup of the subvolume identified by <path>
|
|
|
|
is used if possible.
|
|
|
|
|
|
|
|
EXIT STATUS
|
|
|
|
-----------
|
2014-05-19 15:49:35 +00:00
|
|
|
*btrfs qgroup* returns a zero exist status if it succeeds. Non zero is
|
2014-04-02 08:29:24 +00:00
|
|
|
returned in case of failure.
|
|
|
|
|
|
|
|
AVAILABILITY
|
|
|
|
------------
|
2014-05-19 16:04:26 +00:00
|
|
|
*btrfs* is part of btrfs-progs.
|
2014-04-02 08:29:24 +00:00
|
|
|
Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
|
|
|
|
further details.
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
`mkfs.btrfs`(8),
|
|
|
|
`btrfs-subvolume`(8),
|
|
|
|
`btrfs-quota`(8),
|