summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/Makefile.in4
-rw-r--r--Documentation/btrfs-balance.asciidoc16
-rw-r--r--Documentation/btrfs-check.asciidoc12
-rw-r--r--Documentation/btrfs-convert.asciidoc9
-rw-r--r--Documentation/btrfs-debug-tree.asciidoc38
-rw-r--r--Documentation/btrfs-device.asciidoc10
-rw-r--r--Documentation/btrfs-filesystem.asciidoc61
-rw-r--r--Documentation/btrfs-inspect-internal.asciidoc82
-rw-r--r--Documentation/btrfs-man5.asciidoc32
-rw-r--r--Documentation/btrfs-qgroup.asciidoc2
-rw-r--r--Documentation/btrfs-receive.asciidoc2
-rw-r--r--Documentation/btrfs-replace.asciidoc6
-rw-r--r--Documentation/btrfs-scrub.asciidoc6
-rw-r--r--Documentation/btrfs-show-super.asciidoc54
-rw-r--r--Documentation/btrfs-subvolume.asciidoc2
-rw-r--r--Documentation/btrfs.asciidoc2
-rw-r--r--Documentation/btrfstune.asciidoc2
-rw-r--r--Documentation/mkfs.btrfs.asciidoc10
18 files changed, 203 insertions, 147 deletions
diff --git a/Documentation/Makefile.in b/Documentation/Makefile.in
index f046abd5..aea2cb47 100644
--- a/Documentation/Makefile.in
+++ b/Documentation/Makefile.in
@@ -4,11 +4,9 @@ MAN8_TXT =
# Top level commands
MAN8_TXT += btrfs.asciidoc
MAN8_TXT += btrfs-convert.asciidoc
-MAN8_TXT += btrfs-debug-tree.asciidoc
MAN8_TXT += btrfs-find-root.asciidoc
MAN8_TXT += btrfs-image.asciidoc
MAN8_TXT += btrfs-map-logical.asciidoc
-MAN8_TXT += btrfs-show-super.asciidoc
MAN8_TXT += btrfs-select-super.asciidoc
MAN8_TXT += btrfstune.asciidoc
MAN8_TXT += fsck.btrfs.asciidoc
@@ -96,6 +94,8 @@ install-man: man
$(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
$(LN_S) -f btrfs-check.8.gz $(DESTDIR)$(man8dir)/btrfsck.8.gz
$(LN_S) -f btrfs-rescue.8.gz $(DESTDIR)$(man8dir)/btrfs-zero-log.8.gz
+ $(LN_S) -f btrfs-inspect-internal.8.gz $(DESTDIR)$(man8dir)/btrfs-debug-tree.8.gz
+ $(LN_S) -f btrfs-inspect-internal.8.gz $(DESTDIR)$(man8dir)/btrfs-show-super.8.gz
uninstall:
cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8.gz $(GZ_MAN8)
diff --git a/Documentation/btrfs-balance.asciidoc b/Documentation/btrfs-balance.asciidoc
index c8407419..7df40b9c 100644
--- a/Documentation/btrfs-balance.asciidoc
+++ b/Documentation/btrfs-balance.asciidoc
@@ -11,7 +11,7 @@ SYNOPSIS
DESCRIPTION
-----------
-The primary purpose of the balance feature is to spread block groups accross
+The primary purpose of the balance feature is to spread block groups across
all devices so they match constraints defined by the respective profiles. See
`mkfs.btrfs`(8) section 'PROFILES' for more details.
The scope of the balancing process can be further tuned by use of filters that
@@ -67,6 +67,12 @@ resume interrupted balance
start the balance operation according to the specified filters, no filters
will rewrite the entire filesystem. The process runs in the foreground.
+
+NOTE: the balance command without filters will basically rewrite everything
+in the filesystem. The run time is potentially very long, depending on the
+filesystem size. To prevent starting a full balance by accident, the user is
+warned and has a few seconds to cancel the operation before it starts. The
+warning and delay can be skipped with '--full-balance' option.
++
`Options`
+
-d[<filters>]::::
@@ -93,7 +99,7 @@ moving data from single to RAID1). This functionality is accessed through the
'-d', '-m' or '-s' options to btrfs balance start, which filter on data,
metadata and system blocks respectively.
-A filter has the following stucture: 'type'[='params'][,'type'=...]
+A filter has the following structure: 'type'[='params'][,'type'=...]
The available types are:
@@ -106,7 +112,7 @@ are a list of profile names separated by "'|'" (pipe).
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 work space allocated. You may want to use 'usage=0'
-in case balance is returnin ENOSPC and your filesystem is not too full.
+in case balance is returning 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
@@ -147,7 +153,7 @@ only the single value format. 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
+is a range specified as 'start..end'. Makes sense for block group profiles that
utilize striping, ie. RAID0/10/5/6. The range minimum and maximum are
inclusive.
@@ -192,7 +198,7 @@ command:
An example of a filter that does not require workspace is 'usage=0'. This will
scan through all unused block groups of a given type and will reclaim the
-space. Ater that it might be possible to run other filters.
+space. After that it might be possible to run other filters.
**CONVERSIONS ON MULTIPLE DEVICES**
diff --git a/Documentation/btrfs-check.asciidoc b/Documentation/btrfs-check.asciidoc
index 327a45d6..7371a23c 100644
--- a/Documentation/btrfs-check.asciidoc
+++ b/Documentation/btrfs-check.asciidoc
@@ -25,8 +25,12 @@ OPTIONS
-s|--super <superblock>::
use <superblock>th superblock copy, valid values are 0 up to 2 if the
respective superblock offset is within the filesystem
+-b|--backup::
+use the first backup roots stored in the superblock that is valid
--repair::
try to repair the filesystem
+--readonly::
+run in read-only mode (default)
--init-csum-tree::
create a new CRC tree and recalculate all checksums
--init-extent-tree::
@@ -37,10 +41,12 @@ verify checksums of data blocks
indicate progress at various checking phases
--qgroup-report::
verify qgroup accounting and compare against filesystem accounting
---subvol-extents <subvolid>::
-show extent state for a subvolume
---tree-root <bytenr>::
+-E|--subvol-extents <subvolid>::
+show extent state for the given subvolume
+-r|--tree-root <bytenr>::
use the given bytenr for the tree root
+--chunk-root <bytenr>::
+use the given bytenr for the chunk tree root
EXIT STATUS
-----------
diff --git a/Documentation/btrfs-convert.asciidoc b/Documentation/btrfs-convert.asciidoc
index ca3417f4..28f9a394 100644
--- a/Documentation/btrfs-convert.asciidoc
+++ b/Documentation/btrfs-convert.asciidoc
@@ -75,7 +75,7 @@ consumption and may help to convert a filesystem with low free space
-N|--nodesize <SIZE>::
set filesystem nodesize, the tree block size in which btrfs stores its metadata.
The default value is 16KB (16384) or the page size, whichever is bigger.
-Must be a multiple of the sectorsize, but not larger than 65536. Se
+Must be a multiple of the sectorsize, but not larger than 65536. See
`mkfs.btrfs`(8) for more details.
-r|--rollback::
rollback to the original ext2/3/4 filesystem if possible
@@ -83,6 +83,13 @@ rollback to the original ext2/3/4 filesystem if possible
set filesystem label during conversion
-L|--copy-label::
use label from the converted filesystem
+-O|--features <feature1>[,<feature2>...]::
+A list of filesystem features turned on at btrfs-convert time. Not all features
+are supported by old kernels. To disable a feature, prefix it with '^'.
++
+To see all available features that btrfs-convert supports run:
++
++btrfs-convert -O list-all+
-p|--progress::
show progress of conversion, on by default
--no-progress::
diff --git a/Documentation/btrfs-debug-tree.asciidoc b/Documentation/btrfs-debug-tree.asciidoc
deleted file mode 100644
index 23fc1156..00000000
--- a/Documentation/btrfs-debug-tree.asciidoc
+++ /dev/null
@@ -1,38 +0,0 @@
-btrfs-debug-tree(8)
-===================
-
-NAME
-----
-btrfs-debug-tree - dump btrfs filesystem metadata into stdout
-
-SYNOPSIS
---------
-*btrfs-debug-tree* [options] <device>
-
-DESCRIPTION
------------
-*btrfs-debug-tree* is used to dump the whole tree of the given device.
-
-This is maybe useful for analyzing filesystem state or inconsistence and has
-a positive educational effect on understanding the internal structure.
-<device> is the device file where the filesystem is stored.
-
-OPTIONS
--------
--e::
-Print detailed extents info.
--d::
-Print info of btrfs device and root tree dirs only.
--r::
-Print info of roots only.
--b <block_num>::
-Print info of the specified block only.
-
-EXIT STATUS
------------
-*btrfs-debug-tree* will return 0 if no error happened.
-If any problems happened, 1 will be returned.
-
-SEE ALSO
---------
-`mkfs.btrfs`(8)
diff --git a/Documentation/btrfs-device.asciidoc b/Documentation/btrfs-device.asciidoc
index 2827598a..edd9b98e 100644
--- a/Documentation/btrfs-device.asciidoc
+++ b/Documentation/btrfs-device.asciidoc
@@ -74,11 +74,11 @@ do not perform discard by default
-f|--force::::
force overwrite of existing filesystem on the given disk(s)
-*remove* <dev> [<dev>...] <path>::
+*remove* <dev>|<devid> [<dev>|<devid>...] <path>::
Remove device(s) from a filesystem identified by <path>.
-*delete* <dev> [<dev>...] <path>::
-Alias of remove kept for backwards compatability
+*delete* <dev>|<devid> [<dev>|<devid>...] <path>::
+Alias of remove kept for backward compatibility
*ready* <device>::
Check device to see if it has all of it's devices in cache for mounting.
@@ -89,8 +89,8 @@ Scan devices for a btrfs filesystem.
If one or more devices are passed, these are scanned for a btrfs filesystem.
If no devices are passed, btrfs uses block devices containing btrfs
filesystem as listed by blkid.
-Finally, if '--all-devices' or '-d' is passed, all the devices under /dev are
-scanned.
+Finally, '--all-devices' or '-d' is the deprecated option. If it is passed,
+its behavior is the same as if no devices are passed.
*stats* [-z] <path>|<device>::
Read and print the device IO stats for all mounted devices of the filesystem
diff --git a/Documentation/btrfs-filesystem.asciidoc b/Documentation/btrfs-filesystem.asciidoc
index 26126175..dc032faa 100644
--- a/Documentation/btrfs-filesystem.asciidoc
+++ b/Documentation/btrfs-filesystem.asciidoc
@@ -39,7 +39,7 @@ GlobalReserve, single: total=512.00MiB, used=0.00B
------------------------------
+
--
-* 'Data', 'System' and 'Metadata' are separeate block group types.
+* 'Data', 'System' and 'Metadata' are separate block group types.
'GlobalReserve' is an artificial and internal emergency space, see below.
* 'single' -- the allocation profile, defined at mkfs time
* 'total' -- sum of space reserved for
@@ -79,11 +79,11 @@ show sizes in TiB, or TB with --si
If conflicting options are passed, the last one takes precedence.
*defragment* [options] <file>|<dir> [<file>|<dir>...]::
-Defragment file data on a mounted filesytem.
+Defragment file data on a mounted filesystem.
+
If '-r' is passed, files in dir will be defragmented recursively.
The start position and the number of bytes to defragment can be specified by
-start and len using '-s' and '-l' options below.
+start and length using '-s' and '-l' options below.
Extents bigger than value given by '-t' will be skipped, otherwise this value
is used as a target extent size, but is only advisory and may not be reached
if the free space is too fragmented.
@@ -97,6 +97,14 @@ snapshots or de-duplicated data).
This may cause considerable increase of space usage depending on the broken up
ref-links.
+
+NOTE: Directory arguments without '-r' do not defragment files recursively but will
+defragment certain internal trees (extent tree and the subvolume tree). This has been
+confusing and could be removed in the future.
++
+For 'start', 'len', 'size' it is possible to append
+units designator: \'K', \'M', \'G', \'T', \'P', or \'E', which represent
+KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
++
`Options`
+
-v::::
@@ -117,14 +125,41 @@ defragmentation will start from the given offset, default is beginning of a file
defragment only up to 'len' bytes, default is the file size
-t <size>[kKmMgGtTpPeE]::::
target extent size, do not touch extents bigger than 'size'
+
+*du* [options] <path> [<path>..]::
+Calculate disk usage of the target files using FIEMAP. For individual
+files, it will report a count of total bytes, and exclusive (not
+shared) bytes. We also calculate a 'set shared' value which is
+described below.
+
-For 'start', 'len', 'size' it is possible to append
-units designator: \'K', \'M', \'G', \'T', \'P', or \'E', which represent
-KiB, MiB, GiB, TiB, PiB, or EiB, respectively (case does not matter).
+Each argument to 'btrfs fi du' will have a 'set shared' value
+calculated for it. We define each 'set' as those files found by a
+recursive search of an argument. The 'set shared' value
+then is a sum of all shared space referenced by the set.
+
-NOTE: Directory arguments without '-r' do not defragment files recursively but will
-defragment certain internal trees (extent tree and the subvolume tree). This has been
-confusing and could be removed in the future.
+'set shared' takes into account overlapping shared extents, hence it
+isn't as simple as adding up shared extents.
++
+`Options`
++
+-s|--summarize::::
+display only a total for each argument
+--raw::::
+raw numbers in bytes, without the 'B' suffix.
+--human-readable::::
+print human friendly numbers, base 1024, this is the default
+--iec::::
+select the 1024 base for the following options, according to the IEC standard.
+--si::::
+select the 1000 base for the following options, according to the SI standard.
+--kbytes::::
+show sizes in KiB, or kB with --si.
+--mbytes::::
+show sizes in MiB, or MB with --si.
+--gbytes::::
+show sizes in GiB, or GB with --si.
+--tbytes::::
+show sizes in TiB, or TB with --si.
*label* [<dev>|<mountpoint>] [<newlabel>]::
Show or update the label of a filesystem. This works on a mounted filesystem or
@@ -177,7 +212,7 @@ Show the btrfs filesystem with some additional info about devices and space
allocation.
+
If no option none of 'path'/'uuid'/'device'/'label' is passed, information
-about all the BTRFS filesystems is shown, both mounted and unmounted.
+about all the BTRFS filesystems is shown, both mounted and unmounted.
+
`Options`
+
@@ -286,18 +321,18 @@ of IO load and the system may stall for a moment.
*$ btrfs filesystem defrag -v -r -f dir/*
-Recusively defragment files under 'dir/', be verbose and wait until all blocks
+Recursively defragment files under 'dir/', be verbose and wait until all blocks
are flushed before processing next file. You can note slower progress of the
output and lower IO load (proportional to currently defragmented file).
*$ btrfs filesystem defrag -v -r -f -clzo dir/*
-Recusively defragment files under 'dir/', be verbose, wait until all blocks are
+Recursively defragment files under 'dir/', be verbose, wait until all blocks are
flushed and force file compression.
*$ btrfs filesystem defrag -v -r -t 64M dir/*
-Recusively defragment files under 'dir/', be verbose and try to merge extents
+Recursively defragment files under 'dir/', be verbose and try to merge extents
to be about 64MiB. As stated above, the success rate depends on actual free
space fragmentation and the final result is not guaranteed to meet the target
even if run repeatedly.
diff --git a/Documentation/btrfs-inspect-internal.asciidoc b/Documentation/btrfs-inspect-internal.asciidoc
index 1c7c3611..74f6dea8 100644
--- a/Documentation/btrfs-inspect-internal.asciidoc
+++ b/Documentation/btrfs-inspect-internal.asciidoc
@@ -19,6 +19,75 @@ requires calls to privileged ioctls.
SUBCOMMAND
----------
+*dump-super* [options] <device> [device...]::
+(replaces the standalone tool *btrfs-show-super*)
++
+Show btrfs superblock information stored on given devices in textual form.
+By default the first superblock is printed, more details about all copies or
+additional backup data can be printed.
++
+Besides verifictaion of the filesystem signature, there are no other sanity
+checks. The superblock checksum status is reported, the device item and
+filesystem UUIDs are checked and reported.
++
+`Options`
++
+-f|--full::::
+print full superblock information, including the system chunk array and backup roots
+-a|--all::::
+print information about all present superblock copies (cannot be used together with '-i' option)
+-i <super_mirror>::::
+specify which mirror to print, valid values are 0, 1 and 2 and the superblock must be present on the device
++
+If there are multiple options specified, only the last one is applies.
++
+-F|--force::::
+attempt to print the superblock even if thre's no valid BTRFS signature found
++
+The result may be completely wrong if the data do not resemble a superblock.
++
+-s <bytenr>::::
+specify offset to a superblock in a non-standard location at 'bytenr', useful
+for debugging (disables the '-f' option)
+
+*dump-tree* [options] <device>::
+(replaces the standalone tool *btrfs-debug-tree*)
++
+Dump tree structures from a given device in textual form, expand keys to human
+readable equivalents where possible.
+This is useful for analyzing filesystem state or inconsistencies and has
+a positive educational effect on understanding the internal filesystem structure.
++
+NOTE: contains file names, consider that if you're asked to send the dump for
+analysis. Does not contain file data.
++
+`Options`
++
+-e|--extents::::
+print only extent-related information: extent and device trees
+-d|--device::::
+print only device-related information: tree root, chunk and device trees
+-r|--roots::::
+print only short root node information, ie. the root tree keys
+-R|--backups::::
+same as --roots plus print backup root info, ie. the backup root keys and
+the respective tree root block offset
+-u|--uuid::::
+print only the uuid tree information, empty output if the tree does not exist
+-b <block_num>::::
+print info of the specified block only
+-t <tree_id>::::
+print only the tree with the specified ID, where the ID can be numerical or
+common name in a flexible human readable form
++
+The tree id name recognition rules:
+[options="compact"]
+* case does not matter
+* the C source definition, eg. BTRFS_ROOT_TREE_OBJECTID
+* short forms without BTRFS_ prefix, without _TREE and _OBJECTID suffix, eg. ROOT_TREE, ROOT
+* convenience aliases, eg. DEVICE for the DEV tree, CHECKSUM for CSUM
+* unrecognized ID is an error
+
*inode-resolve* [-v] <ino> <path>::
(needs root privileges)
+
@@ -67,6 +136,16 @@ inode number 2), but such subvolume does not contain any files anyway
+
resolve the absolute path of a the subvolume id 'subvolid'
+*tree-stats* [options] <device>::
+(needs root privileges)
++
+Print sizes and statistics of trees.
++
+`Options`
++
+-b::::
+Print raw numbers in bytes.
+
EXIT STATUS
-----------
*btrfs inspect-internal* returns a zero exit status if it succeeds. Non zero is
@@ -80,5 +159,4 @@ further details.
SEE ALSO
--------
-`mkfs.btrfs`(8),
-`btrfs-debug-tree`(8)
+`mkfs.btrfs`(8)
diff --git a/Documentation/btrfs-man5.asciidoc b/Documentation/btrfs-man5.asciidoc
index d4323917..e2eea263 100644
--- a/Documentation/btrfs-man5.asciidoc
+++ b/Documentation/btrfs-man5.asciidoc
@@ -35,7 +35,7 @@ Debugging option to force all block allocations above a certain
byte threshold on each block device. The value is specified in
bytes, optionally with a K, M, or G suffix (case insensitive).
+
-This option was used for testing and has not practial use, it's slated to be
+This option was used for testing and has no practical use, it's slated to be
removed in the future.
*autodefrag*::
@@ -72,7 +72,7 @@ The write flushes incur a slight hit and also prevent the IO block
scheduler to reorder requests in more effective way. Disabling barriers gets
rid of that penalty but will most certainly lead to a corrupted filesystem in
case of a crash or power loss. The ordinary metadata blocks could be yet
-unwrittent at the time the new superblock is stored permanently, expecting that
+unwritten at the time the new superblock is stored permanently, expecting that
the block pointers to metadata were stored permanently before.
+
On a device with a volatile battery-backed write-back cache, the 'nobarrier'
@@ -167,7 +167,7 @@ system at that point.
Enable discarding of freed file blocks using TRIM operation. This is useful
for SSD devices, thinly provisioned LUNs or virtual machine images where the
backing device understands the operation. Depending on support of the
-underlying device, the operation may severly hurt performance in case the TRIM
+underlying device, the operation may severely hurt performance in case the TRIM
operation is synchronous (eg. with SATA devices up to revision 3.0).
+
If discarding is not necessary to be done at the block freeing time, there's
@@ -278,13 +278,25 @@ May be resumed with *btrfs balance resume* or the paused state can be removed
by *btrfs balance cancel*.
*space_cache*::
+*space_cache=v2*::
*nospace_cache*::
-('nospace_cache' since: 3.2, default: on)
+('nospace_cache' since: 3.2, 'space_cache=v2' since 4.5, default: on)
+
-Disable freespace cache loading without clearing the cache and the free space
-cache will not be used during the mount. This affects performance as searching
-for new free blocks could take longer. On the other hand, managing the space
-cache consumes some resources.
+Options to control the free space cache. This affects performance as searching
+for new free blocks could take longer if the space cache is not enabled. On the
+other hand, managing the space cache consumes some resources. It can be
+disabled without clearing at mount time.
++
+There are two implementations of how the space is tracked. The safe default is
+'v1'. On large filesystems (many-terabytes) and certain workloads the 'v1'
+performance may degrade. This problem is addressed by 'v2', that is based on
+b-trees, sometimes referred to as 'free-space-tree'.
++
+'Compatibility notes:'
++
+* the 'v2' has to be enabled manually at mount time, once
+* kernel without 'v2' support will be able to mount the filesystem in read-only mode
+* 'v2' can be removed by mounting with 'clear_cache'
*ssd*::
*nossd*::
@@ -293,7 +305,7 @@ cache consumes some resources.
+
Options to control SSD allocation schemes. By default, BTRFS will
enable or disable SSD allocation heuristics depending on whether a
-rotational or nonrotational disk is in use. The 'ssd' and 'nossd' options
+rotational or non-rotational disk is in use. The 'ssd' and 'nossd' options
can override this autodetection.
+
The 'ssd_spread' mount option attempts to allocate into bigger and aligned
@@ -337,7 +349,7 @@ such syncs, the pending tree log operations are replayed during mount.
WARNING: currently, the tree log is replayed even with a read-only mount!
+
The tree log could contain new files/directories, these would not exist on
-a mounted filesystm if the log is not replayed.
+a mounted filesystem if the log is not replayed.
*user_subvol_rm_allowed*::
(default: off)
diff --git a/Documentation/btrfs-qgroup.asciidoc b/Documentation/btrfs-qgroup.asciidoc
index 57cf012d..438dbc7d 100644
--- a/Documentation/btrfs-qgroup.asciidoc
+++ b/Documentation/btrfs-qgroup.asciidoc
@@ -25,7 +25,7 @@ Quota groups or qgroup in btrfs make a tree hierarchy, the leaf qgroups are
attached to subvolumes. The size limits are set per qgroup and apply when any
limit is reached in tree that contains a given subvolume.
-The limit sare separated between shared and exclusive and reflect the extent
+The limits are separated between shared and exclusive and reflect the extent
ownership. For example a fresh snapshot shares almost all the blocks with the
original subvolume, new writes to either subvolume will raise towards the
exclusive limit.
diff --git a/Documentation/btrfs-receive.asciidoc b/Documentation/btrfs-receive.asciidoc
index 84b85c1c..758eebe3 100644
--- a/Documentation/btrfs-receive.asciidoc
+++ b/Documentation/btrfs-receive.asciidoc
@@ -43,7 +43,7 @@ or on EOF.
--max-errors <N>::
Terminate as soon as N errors happened while processing commands from the send
stream. Default value is 1. A value of 0 means no limit.
--m::
+-m <mountpoint>::
The root mount point of the destination fs.
+
By default the mountpoint is searched in /proc/self/mounts.
diff --git a/Documentation/btrfs-replace.asciidoc b/Documentation/btrfs-replace.asciidoc
index 5a14a40a..a259f96d 100644
--- a/Documentation/btrfs-replace.asciidoc
+++ b/Documentation/btrfs-replace.asciidoc
@@ -33,6 +33,10 @@ the path to the source device. If the source device is disconnected,
from the system, you have to use the devid parameter format.
The <targetdev> needs to be same size or larger than the <srcdev>.
+
+NOTE: the filesystem has to be resized to fully take advantage of a
+larger target device, this can be achieved with
+`btrfs filesystem resize <devid>:max /path`
++
`Options`
+
-r::::
@@ -57,7 +61,7 @@ Print status and progress information of a running device replace operation.
+
-1::::
print once instead of print continuously until the replace
-operation finishes (or is canceled)
+operation finishes (or is cancelled)
EXIT STATUS
-----------
diff --git a/Documentation/btrfs-scrub.asciidoc b/Documentation/btrfs-scrub.asciidoc
index 7750868d..2335aba2 100644
--- a/Documentation/btrfs-scrub.asciidoc
+++ b/Documentation/btrfs-scrub.asciidoc
@@ -25,7 +25,7 @@ If a <device> is given, the corresponding filesystem is found and
scrub cancel behaves as if it was called on that filesystem.
*resume* [-BdqrR] [-c <ioprio_class> -n <ioprio_classdata>] <path>|<device>::
-Resume a canceled or interrupted scrub cycle on the filesystem identified by
+Resume a cancelled or interrupted scrub cycle on the filesystem identified by
<path> or on a given <device>.
+
Does not start a new scrub if the last scrub finished successfully.
@@ -64,13 +64,13 @@ Set IO priority class (see `ionice`(1) manpage).
Set IO priority classdata (see `ionice`(1) manpage).
-f::::
Force starting new scrub even if a scrub is already running.
-This is useful when scrub stat record file is damaged.
+This is useful when scrub status record file is damaged.
*status* [-d] <path>|<device>::
Show status of a running scrub for the filesystem identified by <path> or
for the specified <device>.
+
-If no scrub is running, show statistics of the last finished or canceled scrub
+If no scrub is running, show statistics of the last finished or cancelled scrub
for that filesystem or device.
+
`Options`
diff --git a/Documentation/btrfs-show-super.asciidoc b/Documentation/btrfs-show-super.asciidoc
deleted file mode 100644
index 8866c940..00000000
--- a/Documentation/btrfs-show-super.asciidoc
+++ /dev/null
@@ -1,54 +0,0 @@
-btrfs-show-super(8)
-====================
-
-NAME
-----
-btrfs-show-super - show btrfs superblock information stored in devices
-
-SYNOPSIS
---------
-*btrfs-show-super* [options] <dev> [<dev>...]
-
-DESCRIPTION
------------
-*btrfs-show-super* is used to print the information of superblock,
-you can specify which mirror to print out.
-
-By default, every device's first superblock will be printed out.
-
-Mainly used for debug purpose.
-
-OPTIONS
--------
--f::
-Print full superblock information.
-+
-Including the system chunk array and backup roots.
-
--a::
-Print information of all superblocks.
-+
-If this option is given, '-i' option will be ignored.
-
--i <super_mirror>::
-Specify which mirror to print out.
-+
-<super_mirror> is between 0 and 2.
-If several '-i <super_mirror>' are given, only the last one is valid.
-
--F::
-Attempt to print the superblock even if no superblock magic is found. May end
-badly.
-
--s <bytenr>::
-specifiy offset to a superblock in a non-standard location at 'bytenr', useful
-for debugging (disables the '-f' option)
-
-EXIT STATUS
------------
-*btrfs-show-super* will return 0 if no error happened.
-If any problems happened, 1 will be returned.
-
-SEE ALSO
---------
-`mkfs.btrfs`(8)
diff --git a/Documentation/btrfs-subvolume.asciidoc b/Documentation/btrfs-subvolume.asciidoc
index 96cfe4ac..5497c57a 100644
--- a/Documentation/btrfs-subvolume.asciidoc
+++ b/Documentation/btrfs-subvolume.asciidoc
@@ -73,7 +73,7 @@ stored on the media.
wait for transaction commit at the end of the operation
+
-C|--commit-each::::
-wait for transaction commit after delet each subvolume
+wait for transaction commit after deleting each subvolume
*find-new* <subvolume> <last_gen>::
List the recently modified files in a subvolume, after <last_gen> ID.
diff --git a/Documentation/btrfs.asciidoc b/Documentation/btrfs.asciidoc
index abf1ff89..6a77a852 100644
--- a/Documentation/btrfs.asciidoc
+++ b/Documentation/btrfs.asciidoc
@@ -15,7 +15,7 @@ The *btrfs* utility is a toolbox for managing btrfs filesystems. There are
command groups to work with subvolumes, devices, for whole filesystem or other
specific actions. See section *COMMANDS*.
-COMMAND SYTNAX
+COMMAND SYNTAX
--------------
Any command name can be shortened as far as it stays unambiguous,
diff --git a/Documentation/btrfstune.asciidoc b/Documentation/btrfstune.asciidoc
index f5cf15e7..68fec4c9 100644
--- a/Documentation/btrfstune.asciidoc
+++ b/Documentation/btrfstune.asciidoc
@@ -57,7 +57,7 @@ If a previously-seeding device is changed, all filesystems that used that
device will become unmountable. Setting the seeding flag back will not fix
that. +
A valid usecase is 'seeding device as a base image'. Clear the seeding
-flag, update the filesystem and make it seeding again, provided that it's ok
+flag, update the filesystem and make it seeding again, provided that it's OK
to throw away all filesystems built on top of the previous base.
EXIT STATUS
diff --git a/Documentation/mkfs.btrfs.asciidoc b/Documentation/mkfs.btrfs.asciidoc
index 6a492658..e4321de9 100644
--- a/Documentation/mkfs.btrfs.asciidoc
+++ b/Documentation/mkfs.btrfs.asciidoc
@@ -230,7 +230,7 @@ Other terms commonly used:
*block group*::
*chunk*::
a logical range of space of a given profile, stores data, metadata or both;
-sometimes the terms are used interchangably
+sometimes the terms are used interchangeably
+
A typical size of metadata block group is 256MiB (filesystem smaller than
50GiB) and 1GiB (larger than 50GiB), for data it's 1GiB. The system block group
@@ -254,7 +254,7 @@ There are the following block group types available:
.2+^.<h| Profile 3+^.^h| Redundancy .2+^.<h| Min/max devices
^.^h| Copies ^.^h| Parity ^.<h| Striping
| single | 1 | | | 1/any
-| DUP | 2 / 1 device | | | 1/1 ^(see note)^
+| DUP | 2 / 1 device | | | 1/any ^(see note)^
| RAID0 | | | 1 to N | 2/any
| RAID1 | 2 | | | 2/any
| RAID10 | 2 | | 1 to N | 4/any
@@ -263,8 +263,8 @@ There are the following block group types available:
|=============================================================
'Note:' DUP may exist on more than 1 device if it starts on a single device and
-another one is added, but *mkfs.btrfs* will not let you create DUP on multiple
-devices.
+another one is added. Since version 4.5.1, *mkfs.btrfs* will let you create DUP
+on multiple devices.
DUP PROFILES ON A SINGLE DEVICE
-------------------------------
@@ -274,7 +274,7 @@ the logical blocks to 2 physical locations. Whether there are really 2
physical copies highly depends on the underlying device type.
For example, a SSD drive can remap the blocks internally to a single copy thus
-deduplicating them. This negates the purpose of increased redunancy and just
+deduplicating them. This negates the purpose of increased redundancy and just
wastes space.
The duplicated data/metadata may still be useful to statistically improve the