mirror of
https://github.com/kdave/btrfs-progs
synced 2025-03-25 04:16:32 +00:00
btrfs-progs: docs: update balance manual page
Make the new balance filters' syntax more explicit. Other rewording and reformatting. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
a2b24489da
commit
2460df7cd6
@ -43,9 +43,9 @@ See the section 'ENOSPC' for more details.
|
||||
COMPATIBILITY
|
||||
-------------
|
||||
|
||||
NOTE: The balance subcommand also exists under the *filesystem* namespace. This
|
||||
still works for backward compatibility but is deprecated and should not be
|
||||
used anymore.
|
||||
NOTE: The balance subcommand also exists under the *btrfs filesystem*
|
||||
namespace. This still works for backward compatibility but is deprecated and
|
||||
should not be used anymore.
|
||||
|
||||
NOTE: A short syntax *btrfs balance <path>* works due to backward compatibility
|
||||
but is deprecated and should not be used anymore. Use *btrfs balance start*
|
||||
@ -102,28 +102,28 @@ Balances only block groups with the given profiles. Parameters
|
||||
are a list of profile names separated by "'|'" (pipe).
|
||||
|
||||
*usage=<percent>*::
|
||||
*usage=<range>*::
|
||||
Balances only block groups with usage under the given percentage. The
|
||||
value of 0 is allowed and will clean up completely unused block groups, this
|
||||
should not require any new space allocated. You may want to use 'usage=0' in
|
||||
case balance is returnin ENOSPC and your filesystem is not too full.
|
||||
should not require any new work space allocated. You may want to use 'usage=0'
|
||||
in case balance is returnin ENOSPC and your filesystem is not too full.
|
||||
+
|
||||
The argument may be a single value or a range. The single value *N* means *at
|
||||
most N percent used*, equivalent to *..N* range syntax. Kernels prior to 4.4
|
||||
The argument may be a single value or a range. The single value 'N' means 'at
|
||||
most N percent used', equivalent to '..N' range syntax. Kernels prior to 4.4
|
||||
accept only the single value format.
|
||||
+
|
||||
The minimum boundary is inclusive, maximum is exclusive.
|
||||
The minimum range boundary is inclusive, maximum is exclusive.
|
||||
|
||||
*devid=<id>*::
|
||||
Balances only block groups which have at least one chunk on the given
|
||||
device. To list devices with ids use 'btrfs fi show'.
|
||||
device. To list devices with ids use *btrfs fi show*.
|
||||
|
||||
*drange=<range>*::
|
||||
Balances only block groups which overlap with the given byte range on any
|
||||
device.(Use in conjunction with 'devid' to filter on a specific device. The
|
||||
Balance only block groups which overlap with the given byte range on any
|
||||
device. Use in conjunction with 'devid' to filter on a specific device. The
|
||||
parameter is a range specified as 'start..end'.
|
||||
|
||||
*vrange=<range>*::
|
||||
Balances only block groups which overlap with the given byte range in the
|
||||
Balance only block groups which overlap with the given byte range in the
|
||||
filesystem's internal virtual address space. This is the address space that
|
||||
most reports from btrfs in the kernel log use. The parameter is a range
|
||||
specified as 'start..end'.
|
||||
@ -131,38 +131,42 @@ specified as 'start..end'.
|
||||
*convert=<profile>*::
|
||||
Convert each selected block group to the given profile name identified by
|
||||
parameters.
|
||||
+
|
||||
NOTE: starting with kernel 4.5, the 'data' chunks can be converted to/from the
|
||||
'DUP' profile on a single device.
|
||||
|
||||
*limit=<number>*::
|
||||
*limit=<range>*::
|
||||
Process only given number of chunks, after all filters are applied. This can be
|
||||
used to specifically target a chunk in connection with other filters (drange,
|
||||
vrange) or just simply limit the amount of work done by a single balance run.
|
||||
used to specifically target a chunk in connection with other filters ('drange',
|
||||
'vrange') or just simply limit the amount of work done by a single balance run.
|
||||
+
|
||||
The argument may be a single value or a range. The single value *N* means *at
|
||||
most N chunks*, equivalent to *..N* range syntax. Kernels prior to 4.4 accept
|
||||
only the single value format.
|
||||
+
|
||||
The range minimum and maximum are inclusive.
|
||||
The argument may be a single value or a range. The single value 'N' means 'at
|
||||
most N chunks', equivalent to '..N' range syntax. Kernels prior to 4.4 accept
|
||||
only the single value format. The range minimum and maximum are inclusive.
|
||||
|
||||
*stripes*::
|
||||
Balances only block groups which have the given number of stripes. The
|
||||
parameter is a range specified as <start..end>.
|
||||
+
|
||||
The range minimum and maximum are inclusive.
|
||||
*stripes=<range>*::
|
||||
Balance only block groups which have the given number of stripes. The parameter
|
||||
is a range specified as 'start..end'. Makes sense fo block group profiles that
|
||||
utilize striping, ie. RAID0/10/5/6. The range minimum and maximum are
|
||||
inclusive.
|
||||
|
||||
*soft*::
|
||||
Takes no parameters. Only has meaning when converting between profiles.
|
||||
When doing convert from one profile to another and soft mode is on,
|
||||
chunks that already have the target profile are left untouched
|
||||
This is useful if e.g. half of the filesystem was converted earlier.
|
||||
chunks that already have the target profile are left untouched.
|
||||
This is useful e.g. when half of the filesystem was converted earlier but got
|
||||
cancelled.
|
||||
+
|
||||
The soft mode switch is (like every other filter) per-type.
|
||||
For example, this means that we can convert metadata chunks the "hard" way
|
||||
while converting data chunks selectively with soft switch.
|
||||
|
||||
Profile names, used in profiles and convert are one of: 'raid0', 'raid1',
|
||||
Profile names, used in 'profiles' and 'convert' are one of: 'raid0', 'raid1',
|
||||
'raid10', 'raid5', 'raid6', 'dup', 'single'. The mixed data/metadata profiles
|
||||
can be converted in the same bay, but it's conversion between mixed and non-mixed
|
||||
is not implemented.
|
||||
can be converted in the same way, but it's conversion between mixed and non-mixed
|
||||
is not implemented. For the constraints of the profiles please refer to `mkfs.btrfs`(8),
|
||||
section 'PROFILES'.
|
||||
|
||||
ENOSPC
|
||||
------
|
||||
@ -173,13 +177,15 @@ it fails for ENOSPC reasons.
|
||||
This is not the same ENOSPC as if the free space is exhausted. This refers to
|
||||
the space on the level of block groups.
|
||||
|
||||
The free work space can be calculated from the output of the 'btrfs filesystem show'
|
||||
The free work space can be calculated from the output of the *btrfs filesystem show*
|
||||
command:
|
||||
|
||||
------------------------------
|
||||
Label: 'BTRFS' uuid: 8a9d72cd-ead3-469d-b371-9c7203276265
|
||||
Total devices 2 FS bytes used 77.03GiB
|
||||
devid 1 size 53.90GiB used 51.90GiB path /dev/sdc2
|
||||
devid 2 size 53.90GiB used 51.90GiB path /dev/sde1
|
||||
------------------------------
|
||||
|
||||
'size' - 'used' = 'free work space' +
|
||||
'53.90GiB' - '51.90GiB' = '2.00GiB'
|
||||
|
Loading…
Reference in New Issue
Block a user