fsck_ffs(8)
NAME
- fsck_ffs, fsck_ufs - file system consistency check and in
- teractive repair
SYNOPSIS
fsck_ffs [-BFpfny] [-b block] [-c level] [-m mode]
filesystem ...
DESCRIPTION
- The specified disk partitions and/or file systems are
- checked. In
"preen" mode the clean flag of each file system's superblock - is examined
and only those file systems that are not marked clean are - checked. File
systems are marked clean when they are unmounted, when they - have been
mounted read-only, or when fsck_ffs runs on them successful - ly. If the -f
option is specified, the file systems will be checked re - gardless of the
state of their clean flag. - The kernel takes care that only a restricted class of in
- nocuous file system 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_ffs with the -p
- option will
correct; if it encounters other inconsistencies, it exits - with an abnormal return status and an automatic reboot will then fail.
- For each corrected inconsistency one or more lines will be printed iden
- tifying the
file system on which the correction will take place, and the - nature of
the correction. After successfully correcting a file sys - tem, fsck_ffs
will print the number of files on that file system, the num - ber of used
and free blocks, and the percentage of fragmentation. - If sent a QUIT signal, fsck_ffs will finish the file system
- checks, then
exit with an abnormal return status that causes an automatic - reboot to
fail. This is useful when you want to finish the file sys - tem checks during an automatic reboot, but do not want the machine to come
- up multiuser
after the checks complete. - If fsck_ffs receives a SIGINFO (see the ``status'' argument
- for stty(1))
signal, a line will be written to the standard output indi - cating the name
of the device currently being checked, the current phase - number and
phase-specific progress information. - Without the -p option, fsck_ffs audits and interactively re
- pairs inconsistent conditions for file systems. If the file system is
- inconsistent
the operator is prompted for concurrence before each correc - tion 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 correc
- tion is to
wait for the operator to respond yes or no. If the operator - does not
have write permission on the file system fsck_ffs will de - fault to a -n
action. - The following flags are interpreted by fsck_ffs:
- -F Determine whether the file system needs to be
- cleaned immediately
- in foreground, or if its cleaning can be deferred to
- background.
To be eligible for background cleaning it must have - been running
with soft updates, not have been marked as needing a - foreground
check, and be mounted and writable when the back - ground check is
to be done. If these conditions are met, then - fsck_ffs exits
with a zero exit status. Otherwise it exits with a - non-zero exit
status. If the file system is clean, it will exit - with a nonzero exit status so that the clean status of the
- file system can
be verified and reported during the foreground - checks. Note that
when invoked with the -F flag, no cleanups are done. - The only
thing that fsck_ffs does is to determine whether a - foreground or
background check is needed and exit with an appro - priate status
code. - -B A check is done on the specified and possibly active
- file system.
- The set of corrections that can be done is limited
- to those done
when running in preen mode (see the -p flag). If - unexpected
errors are found, the file system is marked as need - ing a foreground check and fsck_ffs exits without attempting
- any further
cleaning. - -b Use the block specified immediately after the flag
- as the super
- block for the file system. An alternate super block
- is usually
located at block 32 for UFS1, and block 160 for - UFS2.
- -c Convert the file system to the specified level.
- Note that the
- level of a file system can only be raised. There
- are currently
four levels defined: - 0 The file system is in the old (static table)
- format.
- 1 The file system is in the new (dynamic
- table) format.
- 2 The file system supports 32-bit uid's and
- gid's, short
symbolic links are stored in the inode, anddirectories
have an added field showing the file type. - 3 If maxcontig is greater than one, build the
- free segment
- maps to aid in finding contiguous sets of
- blocks. If
maxcontig is equal to one, delete any exist - ing segment
maps. - In interactive mode, fsck_ffs will list the conver
- sion to be made
and ask whether the conversion should be done. If a - negative
answer is given, no further operations are done on - the file system. In preen mode, the conversion is listed and
- done if possible without user interaction. Conversion in preen
- mode is best
used when all the file systems are being converted - at once. The
format of a file system can be determined from the - first line of
output from dumpfs(8). - -f Force fsck_ffs to check `clean' file systems when
- preening.
- -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, sys - tems 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_ffs except
- for `CONTINUE?', which is assumed to be affirmative;
- do not open
the file system for writing. - -p Preen file systems (see above).
- -y Assume a yes response to all questions asked by
- fsck_ffs; 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:
- 1. Blocks claimed by more than one inode or the free map.
2. Blocks claimed by an inode outside the range of the - file system.
3. Incorrect link counts.
4. Size checks:
Directory size not a multiple of DIRBLKSIZ.
Partially truncated file. - 5. Bad inode format.
6. Blocks not accounted for anywhere.
7. Directory checks:
File pointing to unallocated inode.
Inode number out of range.
Directories with unallocated blocks (holes).
Dot or dot-dot not the first two entries of a di - rectory or
having the wrong inode number. - 8. Super Block checks:
More blocks for inodes than there are in the file - system.
Bad free block map format.
Total free block and/or free inode count incor - rect.
- 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 insuf - ficient space
its size is increased.
FILES
/etc/fstab contains default list of file systems to check.
EXIT STATUS DIAGNOSTICS
- The diagnostics produced by fsck_ffs are fully enumerated
- and explained
in Appendix A of Fsck - The UNIX File System Check Program.