NAME
fsck_ext2fs —
ext2 File System
consistency check and interactive repair
SYNOPSIS
fsck_ext2fs |
[-dfnpUy]
[-b
block#]
[-m mode]
filesystem ... |
DESCRIPTION
fsck_ext2fs performs interactive filesystem consistency checks
and repair for each of the filesystems specified on the command line. It is
normally invoked from
fsck(8).
The kernel takes care that only a restricted class of innocuous filesystem
inconsistencies can happen unless hardware or software failures intervene.
These are limited to the following:
- Unreferenced inodes
- Link counts in inodes too
large
- Missing blocks in the free
map
- Blocks in the free map also in
files
- Counts in the super-block
wrong
These are the only inconsistencies that
fsck_ext2fs in
“preen” mode (with the
-p option) will correct;
if it encounters other inconsistencies, it exits with an abnormal return
status. For each corrected inconsistency one or more lines will be printed
identifying the filesystem on which the correction will take place, and the
nature of the correction. After successfully correcting a filesystem,
fsck_ext2fs will print the number of files on that
filesystem and the number of used and free blocks.
If sent a
QUIT
signal,
fsck_ext2fs
will finish the filesystem checks, then exit with an abnormal return status.
Without the
-p option,
fsck_ext2fs audits
and interactively repairs inconsistent conditions for filesystems. If the
filesystem is inconsistent the operator is prompted for concurrence before
each correction is attempted. It should be noted that some of the corrective
actions which are not correctable under the
-p option will
result in some loss of data. The amount and severity of data lost may be
determined from the diagnostic output. The default action for each consistency
correction is to wait for the operator to respond
yes
or
no
. If the operator does not have write permission
on the filesystem
fsck_ext2fs will default to a
-n action.
The following flags are interpreted by
fsck_ext2fs.
-
-
- -b
- Use the block specified immediately after the flag as the
super block for the filesystem. Block 8193 is usually an alternate super
block.
-
-
- -d
- Print debugging output.
-
-
- -f
- Force checking of file systems. Normally, if a file system
is cleanly unmounted, the kernel will set a “clean flag” in
the file system superblock, and fsck_ext2fs will not
check the file system. This option forces fsck_ext2fs to
check the file system, regardless of the state of the clean flag.
-
-
- -m
- Use the mode specified in octal immediately after the flag
as the permission bits to use when creating the
lost+found directory rather than the default 1777. In
particular, systems that do not wish to have lost files accessible by all
users on the system should use a more restrictive set of permissions such
as 700.
-
-
- -n
- Assume a no response to all questions asked by
fsck_ext2fs except for
‘
CONTINUE?
’, which is assumed to be
affirmative; do not open the filesystem for writing.
-
-
- -p
- Specify “preen” mode, described above.
-
-
- -U
- Resolve numeric userids to usernames.
-
-
- -y
- Assume a yes response to all questions asked by
fsck_ext2fs; this should be used with great caution as
this is a free license to continue after essentially unlimited trouble has
been encountered.
Inconsistencies checked are as follows:
- Blocks claimed by more than
one inode or the free map.
- Blocks claimed by an inode
outside the range of the filesystem.
- Incorrect link counts.
- Size checks:
- Directory size not a
multiple of filesystem block size.
- Partially truncated
file.
- Bad inode format.
- Blocks not accounted for
anywhere.
- Directory checks:
- File pointing to
unallocated inode.
- Inode number out of
range.
- Dot or dot-dot not the
first two entries of a directory or having the wrong inode
number.
- Super Block checks:
- More blocks for inodes
than there are in the filesystem.
- Bad free block map
format.
- Total free block and/or
free inode count incorrect.
Orphaned files and directories (allocated but unreferenced) are, with the
operator's concurrence, reconnected by placing them in the
lost+found directory. The name assigned is the inode number.
If the
lost+found directory does not exist, it is created.
If there is insufficient space its size is increased.
Because of inconsistencies between the block device and the buffer cache, the
raw device should always be used.
DIAGNOSTICS
The diagnostics produced by
fsck_ext2fs are fully enumerated
and explained in Appendix A of
Fsck - The
UNIX File System Check Program.
SEE ALSO
fs(5),
fstab(5),
fsck(8),
fsdb(8),
newfs(8),
reboot(8)
HISTORY
A
fsck_ext2fs utility appeared in
NetBSD
1.3.
AUTHORS
fsck_ext2fs was written by
Manuel
Bouyer
<
bouyer@NetBSD.org>.