summaryrefslogtreecommitdiff
path: root/Documentation/btrfs-scrub.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/btrfs-scrub.asciidoc')
-rw-r--r--Documentation/btrfs-scrub.asciidoc97
1 files changed, 97 insertions, 0 deletions
diff --git a/Documentation/btrfs-scrub.asciidoc b/Documentation/btrfs-scrub.asciidoc
new file mode 100644
index 00000000..83ddcaa7
--- /dev/null
+++ b/Documentation/btrfs-scrub.asciidoc
@@ -0,0 +1,97 @@
+btrfs-scrub(8)
+==============
+
+NAME
+----
+btrfs-scrub - scrub btrfs filesystem, verify block checksums
+
+SYNOPSIS
+--------
+*btrfs scrub* <subcommand> <args>
+
+DESCRIPTION
+-----------
+*btrfs scrub* is used to scrub a btrfs filesystem, which will read all data
+and metadata blocks from all disks and verify checksums. Automatically repair
+corrupted blocks if there's a correct copy available.
+
+SUBCOMMAND
+----------
+*cancel* <path>|<device>::
+If a scrub is running on the filesystem identified by 'path>' cancel it.
++
+Progress is saved in the scrub progress file ('/var/lib/btrfs/scrub.status.UUID')
+and scrubbing can be resumed later using the *btrfs scrub resume* command.
+If a 'device' is specified, the corresponding filesystem is found and
+*btrfs scrub cancel* behaves as if it was called on that filesystem.
+
+*resume* [-BdqrR] [-c <ioprio_class> -n <ioprio_classdata>] <path>|<device>::
+Resume a cancelled or interrupted scrub on the filesystem identified by
+'path' or on a given 'device'.
++
+Does not start a new scrub if the last scrub finished successfully.
++
+`Options`
++
+see *scrub start*.
+
+*start* [-BdqrRf] [-c <ioprio_class> -n <ioprio_classdata>] <path>|<device>::
+Start a scrub on all devices of the filesystem identified by 'path' or on
+a single 'device'. If a scrub is already running, the new one fails.
++
+Without options, scrub is started as a background process.
+Progress can be obtained with the *btrfs scrub status* command. Scrubbing
+involves reading all data from all disks and verifying checksums. Errors are
+corrected along the way if possible.
++
+The default IO priority of scrub is the idle class. The priority can be
+configured similar to the `ionice`(1) syntax using '-c' and '-n' options.
++
+`Options`
++
+-B::::
+do not background and print scrub statistics when finished
+-d::::
+print separate statistics for each device of the filesystem ('-B' only)
+-q::::
+be quiet, omit error messages and statistics
+-r::::
+read only mode, do not attempt to correct anything, can be run on a read-only
+filesystem
+-R::::
+print raw statistics per-device instead of a summary
+-c <ioprio_class>::::
+set IO priority class (see `ionice`(1) manpage)
+-n <ioprio_classdata>::::
+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 status file is damaged and reports a running
+scrub although it is not
+
+*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 cancelled scrub
+for that filesystem or device.
++
+`Options`
++
+-d::::
+print separate statistics for each device of the filesystem
+
+EXIT STATUS
+-----------
+*btrfs scrub* returns a zero exit status if it succeeds. Non zero is
+returned in case of failure.
+
+AVAILABILITY
+------------
+*btrfs* is part of btrfs-progs.
+Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for
+further details.
+
+SEE ALSO
+--------
+`mkfs.btrfs`(8),