summaryrefslogtreecommitdiffstats
path: root/upstream/opensuse-leap-15-6/man8/btrfs-scrub.8
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/opensuse-leap-15-6/man8/btrfs-scrub.8')
-rw-r--r--upstream/opensuse-leap-15-6/man8/btrfs-scrub.8274
1 files changed, 274 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man8/btrfs-scrub.8 b/upstream/opensuse-leap-15-6/man8/btrfs-scrub.8
new file mode 100644
index 00000000..20556828
--- /dev/null
+++ b/upstream/opensuse-leap-15-6/man8/btrfs-scrub.8
@@ -0,0 +1,274 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "BTRFS-SCRUB" "8" "Sep 13, 2023" "6.5.1" "BTRFS"
+.SH NAME
+btrfs-scrub \- scrub btrfs filesystem, verify block checksums
+.SH SYNOPSIS
+.sp
+\fBbtrfs scrub\fP <subcommand> <args>
+.SH DESCRIPTION
+.sp
+Scrub is a pass over all filesystem data and metadata and verifying the
+checksums. If a valid copy is available (replicated block group profiles) then
+the damaged one is repaired. All copies of the replicated profiles are validated.
+.sp
+\fBNOTE:\fP
+.INDENT 0.0
+.INDENT 3.5
+Scrub is not a filesystem checker (fsck) and does not verify nor repair
+structural damage in the filesystem. It really only checks checksums of data
+and tree blocks, it doesn\(aqt ensure the content of tree blocks is valid and
+consistent. There\(aqs some validation performed when metadata blocks are read
+from disk but it\(aqs not extensive and cannot substitute full \fBbtrfs check\fP
+run.
+.UNINDENT
+.UNINDENT
+.sp
+The user is supposed to run it manually or via a periodic system service. The
+recommended period is a month but could be less. The estimated device bandwidth
+utilization is about 80% on an idle filesystem. The IO priority class is by
+default \fIidle\fP so background scrub should not significantly interfere with
+normal filesystem operation. The IO scheduler set for the device(s) might not
+support the priority classes though.
+.sp
+The scrubbing status is recorded in \fB/var/lib/btrfs/\fP in textual files named
+\fIscrub.status.UUID\fP for a filesystem identified by the given UUID. (Progress
+state is communicated through a named pipe in file \fIscrub.progress.UUID\fP in the
+same directory.) The status file is updated every 5 seconds. A resumed scrub
+will continue from the last saved position.
+.sp
+Scrub can be started only on a mounted filesystem, though it\(aqs possible to
+scrub only a selected device. See \fI\%btrfs scrub start\fP for more.
+.SH SUBCOMMAND
+.INDENT 0.0
+.TP
+.B cancel <path>|<device>
+If a scrub is running on the filesystem identified by \fIpath\fP or
+\fIdevice\fP, cancel it.
+.sp
+If a \fIdevice\fP is specified, the corresponding filesystem is found and
+\fBbtrfs scrub cancel\fP behaves as if it was called on that filesystem.
+The progress is saved in the status file so \fBbtrfs scrub resume\fP can
+continue from the last position.
+.TP
+.B resume [\-BdqrR] <path>|<device>
+Resume a cancelled or interrupted scrub on the filesystem identified by
+\fIpath\fP or on a given \fIdevice\fP\&. The starting point is read from the
+status file if it exists.
+.sp
+This does not start a new scrub if the last scrub finished successfully.
+.sp
+\fBOptions\fP
+.sp
+see \fBscrub start\fP\&.
+.UNINDENT
+.INDENT 0.0
+.TP
+.B start [\-BdrRf] <path>|<device>
+Start a scrub on all devices of the mounted filesystem identified by
+\fIpath\fP or on a single \fIdevice\fP\&. If a scrub is already running, the new
+one will not start. A device of an unmounted filesystem cannot be
+scrubbed this way.
+.sp
+Without options, scrub is started as a background process. The
+automatic repairs of damaged copies are performed by default for block
+group profiles with redundancy. No\-repair can be enabled by option \fI\-r\fP\&.
+.sp
+\fBOptions\fP
+.INDENT 7.0
+.TP
+.B \-B
+do not background and print scrub statistics when finished
+.TP
+.B \-d
+print separate statistics for each device of the filesystem
+(\fI\-B\fP only) at the end
+.TP
+.B \-r
+run in read\-only mode, do not attempt to correct anything, can
+be run on a read\-only filesystem
+.TP
+.B \-R
+raw print mode, print full data instead of summary
+.TP
+.B \-f
+force starting new scrub even if a scrub is already running,
+this can useful when scrub status file is damaged and reports a
+running scrub although it is not, but should not normally be
+necessary
+.UNINDENT
+.sp
+\fBDeprecated options\fP
+.INDENT 7.0
+.TP
+.BI \-c \ <ioprio_class>
+set IO priority class (see \fBionice(1)\fP manpage) if the IO
+scheduler configured for the device supports ionice. This is
+not supported byg BFQ or Kyber but is \fInot\fP supported by
+mq\-deadline.
+.TP
+.BI \-n \ <ioprio_classdata>
+set IO priority classdata (see \fBionice(1)\fP manpage)
+.TP
+.B \-q
+(deprecated) alias for global \fI\-q\fP option
+.UNINDENT
+.TP
+.B status [options] <path>|<device>
+.INDENT 7.0
+.INDENT 3.5
+Show status of a running scrub for the filesystem identified by \fIpath\fP
+or for the specified \fIdevice\fP\&.
+.sp
+If no scrub is running, show statistics of the last finished or
+cancelled scrub for that filesystem or device.
+.sp
+\fBOptions\fP
+.INDENT 0.0
+.TP
+.B \-d
+print separate statistics for each device of the filesystem
+.TP
+.B \-R
+print all raw statistics without postprocessing as returned by
+the status ioctl
+.TP
+.B \-\-raw
+print all numbers raw values in bytes without the \fIB\fP suffix
+.TP
+.B \-\-human\-readable
+print human friendly numbers, base 1024, this is the default
+.TP
+.B \-\-iec
+select the 1024 base for the following options, according to
+the IEC standard
+.TP
+.B \-\-si
+select the 1000 base for the following options, according to the SI standard
+.TP
+.B \-\-kbytes
+show sizes in KiB, or kB with \-\-si
+.TP
+.B \-\-mbytes
+show sizes in MiB, or MB with \-\-si
+.TP
+.B \-\-gbytes
+show sizes in GiB, or GB with \-\-si
+.TP
+.B \-\-tbytes
+show sizes in TiB, or TB with \-\-si
+.UNINDENT
+.sp
+A status on a filesystem without any error looks like the following:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+# btrfs scrub start /
+# btrfs scrub status /
+UUID: 76fac721\-2294\-4f89\-a1af\-620cde7a1980
+Scrub started: Wed Apr 10 12:34:56 2023
+Status: running
+Duration: 0:00:05
+Time left: 0:00:05
+ETA: Wed Apr 10 12:35:01 2023
+Total to scrub: 28.32GiB
+Bytes scrubbed: 13.76GiB (48.59%)
+Rate: 2.75GiB/s
+Error summary: no errors found
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+With some errors found:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+Error summary: csum=72
+ Corrected: 2
+ Uncorrectable: 72
+ Unverified: 0
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.INDENT 7.0
+.IP \(bu 2
+\fICorrected\fP \-\- number of bad blocks that were repaired from another copy
+.IP \(bu 2
+\fIUncorrectable\fP \-\- errors detected at read time but not possible to repair from other copy
+.IP \(bu 2
+\fIUnverified\fP \-\- transient errors, first read failed but a retry
+succeeded, may be affected by lower layers that group or split IO requests
+.IP \(bu 2
+\fIError summary\fP \-\- followed by a more detailed list of errors found
+.INDENT 2.0
+.IP \(bu 2
+\fIcsum\fP \-\- checksum mismatch
+.IP \(bu 2
+\fIsuper\fP \-\- super block errors, unless the error is fixed
+immediately, the next commit will overwrite superblock
+.IP \(bu 2
+\fIverify\fP \-\- metadata block header errors
+.IP \(bu 2
+\fIread\fP \-\- blocks can\(aqt be read due to IO errors
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.SH EXIT STATUS
+.sp
+\fBbtrfs scrub\fP returns a zero exit status if it succeeds. Non zero is
+returned in case of failure:
+.INDENT 0.0
+.TP
+.B 1
+scrub couldn\(aqt be performed
+.TP
+.B 2
+there is nothing to resume
+.TP
+.B 3
+scrub found uncorrectable errors
+.UNINDENT
+.SH AVAILABILITY
+.sp
+\fBbtrfs\fP is part of btrfs\-progs. Please refer to the documentation at
+\fI\%https://btrfs.readthedocs.io\fP\&.
+.SH SEE ALSO
+.sp
+\fI\%mkfs.btrfs(8)\fP
+.\" Generated by docutils manpage writer.
+.