.\"
.TH E2FSCK 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
.SH NAME
-e2fsck \- check a Linux ext2/ext3 file system
+e2fsck \- check a Linux ext2/ext3/ext4 file system
.SH SYNOPSIS
.B e2fsck
[
-.B \-pacnyrdfkvstDFSV
+.B \-pacnyrdfkvtDFV
]
[
.B \-b
.I device
.SH DESCRIPTION
.B e2fsck
-is used to check a Linux second extended file system (ext2fs).
-.B E2fsck
-also
-supports ext2 filesystems containing a journal, which are
-also sometimes known as ext3 filesystems, by first applying the journal
-to the filesystem before continuing with normal
+is used to check the ext2/ext3/ext4 family of file systems.
+For ext3 and ext4 filesystems that use a journal, if the system has been
+shut down uncleanly without any errors, normally, after replaying the
+committed transactions in the journal, the file system should be
+marked as clean. Hence, for filesystems that use journalling,
.B e2fsck
-processing. After the journal has been applied, a filesystem will
-normally be marked as clean. Hence, for ext3 filesystems,
-.B e2fsck
-will normally run the journal and exit, unless its superblock
+will normally replay the journal and exit, unless its superblock
indicates that further checking is required.
.PP
.I device
.B e2fsck
asks whether or not you should check a filesystem which is mounted,
the only correct answer is ``no''. Only experts who really know what
-they are doing should consider answering this question in other way.
+they are doing should consider answering this question in any other way.
.SH OPTIONS
.TP
.B \-a
.B \-c
This option causes
.B e2fsck
-to run the
+to use
.BR badblocks (8)
-program to find any blocks which are bad on the filesystem,
-and then marks them as bad by adding them to the bad block inode.
-If this option is specified twice, then the bad block scan will be done
+program to do a read-only scan of the device in order to find any bad
+blocks. If any bad blocks are found, they are added to the bad block
+inode to prevent them from being allocated to a file or directory. If
+this option is specified twice, then the bad block scan will be done
using a non-destructive read-write test.
.TP
.BI \-C " fd"
check can be monitored. This option is typically used by programs
which are running
.BR e2fsck .
+If the file descriptor number is negative, then absolute value of
+the file descriptor will be used, and the progress information will be
+suppressed initially. It can later be enabled by sending the
+.B e2fsck
+process a SIGUSR1 signal.
If the file descriptor specified is 0,
.B e2fsck
will print a completion bar as it goes about its business. This requires
filesystem supports directory indexing, or by sorting and compressing
directories for smaller directories, or for filesystems using
traditional linear directories.
+.IP
+Even without the
+.B \-D
+option,
+.B e2fsck
+may sometimes optimize a few directories --- for example, if
+directory indexing is enabled and a directory is not indexed and would
+benefit from being indexed, or if the index structures are corrupted
+and need to be rebuilt. The
+.B \-D
+option forces all directories in the filesystem to be optimized. This can
+sometimes make them a little smaller and slightly faster to search, but
+in practice, you should rarely need to use this option.
+.IP
+The
+.B \-D
+option will detect directory entries with duplicate names in a single
+directory, which e2fsck normally does not enforce for performance reasons.
.TP
.BI \-E " extended_options"
Set e2fsck extended options. Extended options are comma
.RS 1.2i
.TP
.BI ea_ver= extended_attribute_version
-Assume the format of the extended attribute blocks in the filesystem is
-the specified version number. The version number may be 1 or 2. The
-default extended attribute version format is 2.
+Set the version of the extended attribute blocks which
+.B e2fsck
+will require while checking the filesystem. The version number may
+be 1 or 2. The default extended attribute version format is 2.
+.TP
+.BI journal_only
+Only replay the journal if required, but do not perform any further checks
+or repairs.
+.TP
+.BI fragcheck
+During pass 1, print a detailed report of any discontiguous blocks for
+files in the filesystem.
+.TP
+.BI discard
+Attempt to discard free blocks and unused inode blocks after the full
+filesystem check (discarding blocks is useful on solid state devices and sparse
+/ thin-provisioned storage). Note that discard is done in pass 5 AFTER the
+filesystem has been fully checked and only if it does not contain recognizable
+errors. However there might be cases where
+.B e2fsck
+does not fully recognise a problem and hence in this case this
+option may prevent you from further manual data recovery.
+.TP
+.BI nodiscard
+Do not attempt to discard free blocks and unused inode blocks. This option is
+exactly the opposite of discard option. This is set as default.
.RE
.TP
.B \-f
Open the filesystem read-only, and assume an answer of `no' to all
questions. Allows
.B e2fsck
-to be used non-interactively. (Note: if the
-.BR \-c ,
-.BR \-l ,
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-p
or
-.B \-L
-options are specified in addition to the
-.B \-n
-option, then the filesystem will be opened read-write, to permit the
-bad-blocks list to be updated. However, no other changes will be made
-to the filesystem.)
+.B \-y
+options.
.TP
.B \-p
-Automatically repair ("preen") the file system without any questions.
+Automatically repair ("preen") the file system. This option will cause
+.B e2fsck
+to automatically
+fix any filesystem problems that can be safely fixed without human
+intervention. If
+.B e2fsck
+discovers a problem which may require the system administrator
+to take additional corrective action,
+.B e2fsck
+will print a description of the problem and then exit with the value 4
+logically or'ed into the exit code. (See the \fBEXIT CODE\fR section.)
+This option is normally used by the system's boot scripts. It may not
+be specified at the same time as the
+.B \-n
+or
+.B \-y
+options.
.TP
.B \-r
This option does nothing at all; it is provided only for backwards
compatibility.
-.TP
-.B \-s
-This option will byte-swap the filesystem so that it is using the normalized,
-standard byte-order (which is i386 or little endian). If the filesystem is
-already in the standard byte-order,
-.B e2fsck
-will take no action.
-.TP
-.B \-S
-This option will byte-swap the filesystem, regardless of its current
-byte-order.
.TP
.B \-t
Print timing statistics for
.B \-y
Assume an answer of `yes' to all questions; allows
.B e2fsck
-to be used non-interactively.
+to be used non-interactively. This option
+may not be specified at the same time as the
+.B \-n
+or
+.B \-p
+options.
.SH EXIT CODE
The exit code returned by
.B e2fsck
.B SIGUSR1
This signal causes
.B e2fsck
-to start displaying a completion bar. (See discussion of the
+to start displaying a completion bar or emitting progress information.
+(See discussion of the
.B \-C
option.)
.TP
.B SIGUSR2
This signal causes
.B e2fsck
-to stop displaying a completion bar.
+to stop displaying a completion bar or emitting progress information.
.SH REPORTING BUGS
Almost any piece of software will have bugs. If you manage to find a
filesystem which causes
which can sent to me after being first run through
.BR uuencode (1).
The most useful data you can send to help reproduce
-the bug is a compressed raw image dump of the filesyste, generated using
+the bug is a compressed raw image dump of the filesystem, generated using
.BR e2image (8).
See the
.BR e2image (8)
.B e2fsck
was written by Theodore Ts'o <tytso@mit.edu>.
.SH SEE ALSO
-.BR mke2fs (8),
-.BR tune2fs (8),
+.BR e2fsck.conf (5),
+.BR badblocks (8),
.BR dumpe2fs (8),
.BR debugfs (8),
-.BR e2image (8)
+.BR e2image (8),
+.BR mke2fs (8),
+.BR tune2fs (8)