.\" $NetBSD: fsck.8,v 1.41 2020/04/18 22:02:11 sevan Exp $
.\"
.\" Copyright (c) 1996 Christos Zoulas. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd April 18, 2020
.Dt FSCK 8
.Os
.Sh NAME
.Nm fsck
.Nd file system consistency check and interactive repair
.Sh SYNOPSIS
.Nm
.Op Fl dfnPpqvy
.Op Fl l Ar maxparallel
.Op Fl T Ar fstype:fsoptions
.Op Fl t Ar fstype
.Op Fl x Ar mountpoint
.Op special | node ...
.Sh DESCRIPTION
The
.Nm
command invokes file system-specific programs to check
the special devices listed in the
.Xr fstab 5
file or in the command line for consistency.
.Pp
It is normally used in the script
.Pa /etc/rc
during automatic reboot.
If no file systems are specified, and
.Dq preen
mode is enabled (
.Fl p
option)
.Nm
reads the table
.Pa /etc/fstab
to determine which file systems to check, in what order.
Only partitions in fstab that are mounted ``rw,'' ``rq'' or ``ro''
and that have non-zero pass number are checked.
File systems with pass number 1 (normally just the root file system)
are checked one at a time.
When pass 1 completes, all remaining file systems are checked,
running one process per disk drive.
By default, file systems which are already mounted read-write are not checked.
The disk drive containing each file system is inferred from the longest prefix
of the device name that ends in a digit; the remaining characters are assumed
to be the partition designator.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl d
Debugging mode.
Just print the commands without executing them.
.It Fl f
Force checking of file systems, even when they are marked clean (for file
systems that support this), or when they are mounted read-write.
.It Fl l Ar maxparallel
Limit the number of parallel checks to the number specified in
the following argument.
By default, the limit is the number of disks, running one process per disk.
If a smaller limit is given, the disks are checked round-robin,
one file system at a time.
.It Fl n
Causes
.Nm
to assume no as the answer to all operator questions, except "CONTINUE?".
.It Fl P
Display a progress meter for each file system check.
This option also disables parallel checking.
Note that progress meters are not supported by all file system types.
.It Fl p
Enter preen mode.
In preen mode,
.Nm
will check all file systems listed in
.Pa /etc/fstab
according to their pass number, and will make minor repairs without
human intervention.
.It Fl q
Quiet mode, do not output any messages for clean file systems.
.It Fl T Ar fstype:fsoptions
List of comma separated file system specific options for the specified
file system type, in the same format as
.Xr mount 8 .
.It Fl t Ar fstype
Invoke
.Nm
only for the comma separated list of file system types.
If the list starts with
.Dq no
then invoke
.Nm
for the file system types that are not specified in the list.
.It Fl v
Print the commands before executing them.
.It Fl x Ar mountpoint
Exclude the file system which has a
.Ar mountpoint
the same as in
.Pa /etc/fstab .
Used only in
.Dq preen
mode.
.It Fl y
Causes
.Nm
to assume yes
as the answer to all operator questions.
.El
.Sh FILES
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
file system table
.El
.Sh EXIT STATUS
.Nm
exits with
.Dv 0
on success.
Any major problems will cause
.Nm
to exit with the following non-zero
.Xr exit 3
codes, so as to alert any invoking program or script that human
intervention is required.
.Bl -tag -width XXXX
.It Dv 1
Usage problem.
.It Dv 2
Unresolved errors while checking the file system.
Re-running
.Nm
on the file system(s) is required.
.It Dv 4
The root file system was changed in the process of checking, and updating the
mount was unsuccessful.
A reboot (without sync) is required.
.It Dv 8
The file system check has failed, and a subsequent check is required
that will require human intervention.
.It Dv 12
.Nm
exited because of the result of a signal (usually
.Dv SIGINT
or
.Dv SIGQUIT
from the terminal).
.El
.Sh SEE ALSO
.Xr fstab 5 ,
.Xr fsck_ext2fs 8 ,
.Xr fsck_ffs 8 ,
.Xr fsck_lfs 8 ,
.Xr fsck_msdos 8 ,
.Xr mount 8
.Sh HISTORY
An
.Nm
utility appeared in
.Bx 4.0 .
It was reimplemented as a file system independent wrapper in
.Nx 1.3 .
The original file system specific utility became
.Xr fsck_ffs 8
at this point.