fsck audits and repairs inconsistent
conditions for all supported filesystems.
If the filesystem is consistent, the number of files, number of blocks
used, and number of blocks free are reported.
Checking a DTFS filesystem is non-interactive; while the
-n option is not used, DTFS fsck will
unconditionally fix the filesystem.
NOTE:fsck
can modify DTFS filesystems even though they are marked as clean.
This is
because the binary trees used for maintaining files may be rebalanced
for performance reasons. Thus fsck reports that the filesystem
has been modified even though it was correctly marked as clean.
For other filesystem types, if the filesystem is
inconsistent, fsck prompts you for
confirmation before each correction is attempted.
It should be noted that most corrective actions result in some loss of data.
The amount and severity of the loss may be determined
from the diagnostic output.
(If you are experienced and fully understand the organization of
filesystems, you can resolve discrepancies manually using
the filesystem debugger,
fsdb(ADM).)
The default action for each correction
(except when checking a DTFS filesystem)
is to wait for you to respond ``y'' for ``yes'' or ``n'' for ``no''.
If you reply ``y!'' to any question, fsck assumes
that the response to all subsequent questions is ``y'' (see
also the description of the -y option).
If you do not have write permission, fsck
defaults to the action of the -n option.
If fsck finds that the root filesystem has been modified, it will
either remount the root filesystem or reboot the system automatically.
The root filesystem is only remounted if the damage to it is minor.
If you check the root filesystem manually using fsck, you
should first unmount all other filesystems using the
umount command (see
mount(ADM)).
The following options are interpreted by fsck:
-a
When called with this option, (autoboot), fsck examines
the FSCKFIX flag in the /etc/default/boot file.
If FSCKFIX is set to YES, fsck behaves
as if it had been called with the -y flag.
This is not applicable for XENIX filesystems.
If the -a option is set, fsck writes all its
output to /dev/recover as well as to the standard output.
The /etc/rc2 scripts mail the contents of /dev/recover
to root when the system goes to multiuser mode.
-c
Convert the superblock in a XENIX filesystem to the version supported
by the current kernel.
-C[clustersize]
This option (for S51K filesystems only) converts the named S51K filesystem into an AFS (Acer Fast Filesystem).
The -s option must also be present. The clustersize
argument must be one of 1, 2, 4, 8, or 16 (16 is the recommended
and default value). The increase in speed that is possible with a fast
filesystem will not be immediately apparent; it will take effect only with the
new files added to the filesystem.
There is little or no benefit in transforming a filesystem that is
nearly full; if it is within a few
blocks of being full, the conversion will not work.
-d
This option turns on debugging. It allows additional information to be
printed during filesystem checking (not supported on DTFS and XENIX
filesystems).
-D
This option checks directories for bad blocks. This is useful after system crashes.
This option does not apply to HTFS or DTFS filesystems.
-E
This option converts the named AFS filesystem to Extended Acer Fast
Filesystem (EAFS), which includes support for long filenames and
symbolic links. It can be combined with the -C option to
convert an S51K filesystem to EAFS.
-f
This option performs a fast check which checks block, sizes (Phase 1)
and the
free list (Phase 5). The free list is reconstructed
(Phase 6) if necessary.
This option is recognized by HTFS, but has no effect. In addition,
it is not recognized by DTFS.
-Ffstyp
This option should be used if fsck cannot determine the filesystem type.
fstyp can be one of AFS, DOS, DTFS,
EAFS, HTFS,
S51K, or XENIX. There must be a space between
the -F and fstyp. The
fstyp(ADM)
command can be used to determine the type of a mounted filesystem.
A comma-separated list of further options can follow fstyp:
compact
Compact directories if possible.
force
Proceed with checking the filesystem even if it does not appear
to be a DTFS filesystem.
full
For HTFS, EAFS and AFS, perform a full
filesystem check (rather than a fast filesystem check). S51K
filesystems do not use the intentlog, so fsck can only
execute the full option functionality.
verbose
By default, DTFS fsck does not detail filesystem
damage it encounters.
The verbose option directs it to describe any damage
encountered and how it is corrected.
-m
Report on the state of a DTFS filesystem without performing a
full check or modifications.
-n
This option assumes a ``no'' response to all questions asked by fsck;
the filesystem is not opened for writing.
-ofull
This option forces a ``full'' filesystem check. This is necessary for
hard disk errors such as bad sectors.
Filesystem transaction logging is enabled by default; if the log
shows incomplete transactions, a ``fast'' check is
performed. If not, the filesystem will be marked as clean. If logging
was disabled, a ``full'' filesystem check will always be performed.
For DTFS, if there are any inconsistencies, a full check
is performed.
-q
This option performs a quiet fsck.
Size-check messages are not printed in Phase 1. Unreferenced FIFO
files are selectively removed. If fsck requires it, counts
in the super-block are automatically fixed and the free list is salvaged.
This is not accepted by DTFS filesystem.
-rr
This option (for XENIX filesystems only) recovers the root filesystem. The required
filesystem argument must refer to the root filesystem,
and preferably to the block device (normally /dev/root).
This switch implies -y and overrides -n.
If any modifications to the filesystem are required,
the filesystem will be automatically remounted.
-s[b:c]
This option ignores the actual free list and (unconditionally)
reconstructs a new
one by rewriting the super-block of the filesystem.
The filesystem must be unmounted while this is done.
The -s option allows for creating an optimal free-list organization.
The following forms are supported:
-s
Uses the default values from when the filesystem was created.
-sBlocks-per-cylinder:Blocks-to-skip
Uses the specified values.
This option is applicable for S51K filesystems only.
-S
This option conditionally reconstructs the free list. This option is like
-sb:c
above except that the free list is rebuilt only
if there are no discrepancies discovered in the filesystem. Using
-S forces a ``no'' response to all questions asked by
fsck. This option is useful for forcing free list reorganization
on uncontaminated filesystems.
This option has no effect on an HTFS filesystem and is
not accepted by DTFS.
-tfilename
If fsck cannot obtain enough memory to keep its tables,
it uses a scratch file.
If the -t option is specified, the file named in the next argument
is used as the scratch file, if needed.
Make certain you leave a space between the -t and
the filename, or fsck will use the entire filesystem
as a scratch file and erase the entire disk.
If you created a scratch filesystem during installation
then you can use /dev/scratch as the filename, provided
that the filesystem being checked is no larger than
the root filesystem.
Without the -t flag, fsck prompts you for
the name of the scratch file.
The file chosen should not be on the filesystem being checked, and if
it is not a special file, it is
removed when fsck completes.
If the system has a large hard disk,
there may not be enough space on another filesystem for the scratch file.
In such cases, if the system has a floppy drive, use
a blank, formatted floppy in the floppy drive with (for example)
/dev/fd0 specified as the scratch file.
-y
This option assumes a ``yes'' response to all questions asked by fsck.
If no filesystems are specified, fsck reads a list
of default filesystems from the file /etc/checklist.
Inconsistencies checked are as follows:
blocks claimed by more than one inode or the free list
blocks claimed by an inode or the free list outside the
range of the filesystem
incorrect link counts
size checks: incorrect number of blocks; directory size not aligned properly
bad inode format
blocks not accounted for anywhere
directory checks: file pointing to unallocated inode; inode number out of range
super-block checks: more blocks for inodes than there are in the filesystem
bad free block list format
total free block or free inode count incorrect
Orphaned files and directories (allocated but unreferenced) are,
with your agreement, reconnected by being placed in the
lost+found directory.
The name assigned is the inode number.
The only restriction is that the directory lost+found
must pre-exist in the root of the filesystem being checked and
must have empty slots in which entries can be made.
Parallel fsck
p_fsck allows several filesystems to be checked in parallel
by running a number of fsck processes simultaneously.
When the system goes to multiuser mode,
mountall(ADM)
uses p_fsck to check the filesystems before mounting them.
p_fsck never checks two filesystems on
the same disk at the same time;
this would require time-consuming seek operations
by the drive heads. These filesystems are checked in sequence
instead. There is virtually no limit to the
number of filesystems on different disks that p_fsck
can repair in parallel.
Options to be passed to the underlying fsck
processes are specified after the -- option.
These options are applied to all the filesystems checked.
Since p_fsck is intended for non-interactive use, one
of the options -y or -n should always be given.
p_fsck reads the filesystems to be checked from its standard input,
for example:
/etc/p_fsck -- -y <<%%
/dev/u
/dev/v
/dev/w
%%
The file /etc/checklist can be used to generate
a list of filesystems to check:
cat /etc/checklist | /etc/p_fsck -- -n
Do not use p_fsck to check the root filesystem.
Diagnostics
The following sections apply to S51K, AFS, EAFS
and HTFS filesystems only.
Initialization phase
Command syntax is checked. Before the filesystem check
can be performed, fsck sets up certain tables and
opens some files. The fsck terminates on initialization
errors.
General errors
Three error messages may appear in any phase.
While they seem to offer the option to continue, it is generally
best to regard them as fatal, end the run, and investigate what may
have caused the problem.
CAN NOT SEEK: BLK B (CONTINUE?)
The request to move to a specified block number B in
the filesystem failed. The occurrence of this error condition indicates a
serious problem (probably a hardware failure) that may require additional help.
CAN NOT READ: BLK B (CONTINUE?)
The request for reading a specified block number B in
the filesystem failed. The occurrence of this error condition indicates a
serious problem (probably a hardware failure) that may require additional help.
CAN NOT WRITE: BLK B (CONTINUE?)
The request for writing a specified block number B in
the filesystem failed. The disk may be write-protected.
Additional HTFS-only diagnostics:
CAN'T CHECK FILESYSTEM
An error during fsck initialization means that checking
cannot proceed. This will usually be accompanied by a more detailed
description of the problem.
INCORRECT VERSION NUMBER
The version number in the superblock is not the same as the one
expected by fsck. It is possible that you are not executing
the correct version of fsck for your installation.
INODE GROUP COUNT INCORRECT
The number of inode groups held in the superblock is not valid
for the filesystem being examined.
INODE GROUP SUMMARY INCORRECT
The inode group summary information is not valid.
Meaning of yes/no responses
Prompt
n(no)
y(yes)
CONTINUE?
Terminates program.
(This is the recommended response.)
Attempts to continue to run filesystem check.
Often, however, the problem persists.
The error condition does not allow a complete check of the filesystem.
A second run of fsck should be made to re-check this filesystem.
Phase 1: check blocks and sizes
This phase checks the inode list.
Meaning of yes/no responses -- Phase 1
Prompt
n(no)
y(yes)
CONTINUE?
Terminates the program.
(This is the recommended response.)
Continues with the program.
This error condition means that a complete check of the filesystem
is not possible.
A second run of fsck should be made to re-check this filesystem.
CLEAR?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to
take other measures to fix the problem.
De-allocates i-node I by zeroing its contents.
This may invoke the UNALLOCATED error condition in Phase 2
for each directory entry pointing to this i-node.
Phase 1 error messages
EMPTY SYMLINK (CLEAR?)
There is no pathname associated with a symbolic link.
UNKNOWN FILE TYPE I=I (CLEAR?)
The mode word of the i-node I suggests that the i-node is not a
pipe, device special i-node, regular i-node, or directory i-node.
This is also displayed when a non-EAFS version of fsck
is run on a filesystem containing symbolic links.
LINK COUNT TABLE OVERFLOW (CONTINUE?)
An internal table for fsck containing allocated i-nodes with
a link count of zero has no more room.
B BAD I=I
I-node I contains block number B with a number
lower than the number of the first data block in the filesystem or
greater than the number of the last block in the filesystem.
This error condition may invoke the EXCESSIVE BAD BLKS
error condition in Phase 1 if i-node I has too many block
numbers outside the filesystem range.
This error condition invokes the BAD/DUP error condition
in Phase 2 and Phase 4.
EXCESSIVE BAD BLOCKS I=I (CONTINUE?)
There is more than a tolerable number of blocks (usually 10) with a number
lower than the number of the first data block in the filesystem or greater
than the number of the last block in the filesystem associated with i-node
I.
B DUP I=I
I-node I contains block number B, which is already
claimed by another i-node. This error condition may invoke the
EXCESSIVE DUP BLKS error condition in Phase 1 if
i-node I has too many block numbers claimed by other i-nodes.
This error condition invokes Phase 1B and the BAD/DUP error
condition in Phase 2 and Phase 4.
EXCESSIVE DUP BLKS I=I (CONTINUE?)
There is more than a tolerable number of blocks (usually 10) claimed by other
i-nodes.
DUP TABLE OVERFLOW (CONTINUE?)
An internal table in fsck containing duplicate block numbers
has no more room.
POSSIBLE FILE SIZE ERROR I=I
TOO FEW BLOCKS ALLOCATED
The i-node I size is greater than the actual number of blocks
used by the i-node.
If the -q option is used, this message is not printed.
DIRECTORY MISALIGNED I=I
The size of a directory i-node is not aligned properly. This is only
a warning. If the -q option is used, this message is not printed.
PARTIALLY ALLOCATED INODE I=I (CLEAR?)
I-node I is neither allocated nor unallocated.
Phase 1B: re-scan for more DUPS
When a duplicate block is found in the filesystem, the filesystem is
re-scanned to find the i-node that previously claimed that block.
When the duplicate block is found, the following information message
is printed:
B DUP I=I
I-node I contains block number B, which is already
claimed by another i-node.
This error condition invokes the BAD/DUP error condition in Phase 2.
I-nodes with overlapping blocks may be determined by examining
this error condition and the DUP error condition in Phase 1.
Additional HTFS-only diagnostics:
DUP TABLE OVERFLOW
An internal table describing blocks that are claimed by more
than one inode is out of space.
NO VALID '.' in DIR I =I
An entry for ``.'' has been found but is incorrect.
NO VALID '..' in DIR I =I
An entry for ``..'' has been found but is incorrect.
MISSING '.' or '..' in DIR I =I
One or both of these required directory entries is missing from
the current directory.
BAD DIR ENTRY I =I
The directory structure is incorrect. Either ``.'' does not reference
the current directory, ``..'' points to inode 0, or a directory entry
is badly formed.
FREE INODE COUNT WRONG IN GROUP -g
The free inode count in the group summary of the given inode group
does not match the actual number of free inodes.
Additional HTFS-only diagnostics:
DUP TABLE OVERFLOW
An internal table describing blocks that are claimed by more
than one inode is out of space.
NO VALID '.' in DIR I =I
An entry for ``.'' has been found but is incorrect.
NO VALID '..' in DIR I =I
An entry for ``..'' has been found but is incorrect.
MISSING '.' or '..' in DIR I =I
One or both of these required directory entries is missing from
the current directory.
BAD DIR ENTRY I =I
The directory structure is incorrect. Either ``.'' does not reference
the current directory, ``..'' points to inode 0, or a directory entry
is badly formed.
FREE INODE COUNT WRONG IN GROUP -g
The free inode count in the group summary of the given inode group
does not match the actual number of free inodes.
Phase 2: check pathnames
This phase removes directory entries pointing to bad i-nodes found in
Phase 1 and Phase 1B.
Meaning of yes/no responses -- Phase 2
Prompt
n(no)
y(yes)
FIX?
Terminates the program since fsck will be unable to continue.
In Phase 2, a ``yes'' response to the FIX? prompt will
perform the fixes as necessary.
CONTINUE?
Terminates the program.
Ignores DUPS/BAD error condition in root i-node and
attempts to continue to run the filesystem check.
If root i-node is not correct,
then this may result in a large number of other error conditions.
REMOVE?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Removes duplicate or unallocated blocks.
Phase 2 error messages
ROOT INODE UNALLOCATED. TERMINATING
The root i-node (always i-node number 2) has no allocated mode bits.
The occurrence of this error condition indicates a
serious problem. The program stops.
ROOT INODE NOT DIRECTORY (FIX?)
The root i-node (usually i-node number 2) is not directory i-node type.
DUPS/BAD IN ROOT INODE (CONTINUE?)
Phase 1 or Phase 1B found duplicate blocks or bad blocks in the
root i-node (usually i-node number 2) for the filesystem.
I OUT OF RANGE I=I NAME=F (REMOVE?)
A directory entry F has an i-node number I
that is greater than the end of the i-node list.
A directory entry F has an i-node I
without allocated mode bits.
The owner O, mode M, size S,
modification time T, and filename F are printed.
If the filesystem is not mounted and the -n option was not
specified, the entry is removed automatically if the i-node it points
to is character size 0.
Phase 1 or Phase 1B found duplicate blocks or bad blocks
associated with directory entry F, directory i-node I.
The owner O, mode M, size S,
modification time T, and directory name F are printed.
Phase 1 or Phase 1B found duplicate blocks or bad blocks
associated with file entry F, i-node I.
The owner O, mode M, size S,
modification time T, and filename F are printed.
BAD BLK B IN DIR I=I OWNER=O MODE=M SIZE=S MTIME=T
This message only occurs when the -D option is used.
A bad block was found in DIR i-node I.
Error conditions looked for in directory blocks are
non-zero padded entries, inconsistent ``.'' and
``..'' entries, and embedded slashes in the name field.
This error message means that you should at a later time
either remove the directory i-node if the entire block looks bad
or change (or remove) those directory entries that look bad.
Additional HTFS-only messages:
DIRECTORY TOO SHORT
The length of the directory being checked is below the
minimum.
BAD INODE NUMBER FOR '.'
BAD INODE NUMBER FOR '..'
The directory entry for one of the required entries (``.'' or ``..'' is invalid).
EXTRA '.' ENTRY
EXTRA '..' ENTRY
An additional ``.'' or ``..'' entry has been found in
the directory.
DIRECTORYd: LENGTHlNOT MULTIPLE OFm
The length of the directory is incorrect and is not a multiple
of the block size.
MISSING '.'
MISSING '..'
One of the required directory entries ``.'' or ``..'' is missing.
If the directory structure does not allow this to be fixed
then additional messages may be produced describing the
problem in more detail.
lIS AN EXTRANEOUS HARD LINK TO DIRECTORY
Hard links to directories are not supported by HTFS and may be
the result of an upgrade from another filesystem where directory
hard links were permitted. If possible such links should be removed
before upgrading.
DIRECTORY CORRUPTED
A directory has been found that is incorrectly formed. A number
of checks will be carried out to make sure that the directory is
valid.
PARTIALLY TRUNCATED INODE I=i
Inode i has been found and is found to be truncated without
the inode being updated.
Phase 3: check connectivity
This phase is concerned with the directory connectivity seen in
Phase 2.
Meaning of yes/no responses -- Phase 3
Prompt
n(no)
y(yes)
RECONNECT?
Ignores the error condition.
This invokes the UNREF error condition in Phase 4.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Reconnects directory i-node I to the filesystem in
directory for lost files (usually lost+found).
This may invoke a lost+found error condition
if there are problems connecting
directory i-node I to lost+found.
This invokes CONNECTED information message if link was successful.
Phase 3 error messages
UNREF DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (RECONNECT?)
The directory i-node I was not connected to a directory entry
when the filesystem was traversed. The owner O, mode M,
size S, and modification time T of directory
i-node I are printed.
The fsck program forces the reconnection of a non-empty directory.
SORRY. NO lost+found DIRECTORY
There is no lost+found
directory in the root directory of the filesystem;
fsck ignores the request to link a directory in lost+found.
HTFS fsck will prompt you if lost+found
should be created.
This invokes the UNREF error condition in Phase 4.
Possible problem with access modes of lost+found.
SORRY. NO SPACE IN lost+found DIRECTORY
There is no space to add another entry to the lost+found
directory in the root directory of the filesystem;
fsck ignores the request to link a directory in lost+found.
This invokes the UNREF error condition in Phase 4.
Clean out unnecessary entries in lost+found or
make lost+found larger by creating empty files
in lost+found and then removing them.
DIR I=I1 CONNECTED. PARENT WAS I=I2
This is an advisory message indicating a directory i-node I1 was
successfully connected to the lost+found directory.
The parent i-node I2 of the directory i-node I1 is
replaced by the i-node number of the lost+found directory.
Phase 4: check reference counts
This phase checks the link count information seen in Phases 2 and 3.
Meaning of yes/no responses -- Phase 4
Prompt
n(no)
y(yes)
RECONNECT?
Ignores this error condition.
This invokes a CLEAR error condition later in Phase 4.
Reconnects i-node I to filesystem in the directory for
lost files (usually lost+found).
This can cause a lost+found error condition in this phase
if there are problems connecting i-node I to
lost+found.
CLEAR?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Deallocates the i-node by zeroing its contents.
ADJUST?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Replaces link count of file i-node I with Y.
FIX?
Ignores the error condition.
A ``no'' response is
only appropriate if
you intend to take other
measures to fix the problem.
I-node I was not connected to a directory entry
when the filesystem was traversed.
The owner O, mode M, size S, and
modification time T of i-node I are printed.
If the -n option is omitted and the filesystem is not mounted,
empty files are cleared automatically. Non-empty files are not cleared.
SORRY. NO lost+found DIRECTORY
There is no lost+found
directory in the root directory of the filesystem;
fsck ignores the request to link a file in lost+found.
This invokes the CLEAR error condition later in Phase 4.
SORRY. NO SPACE IN lost+found DIRECTORY
There is no space to add another entry to the
lost+found directory in the root directory of the filesystem;
fsck ignores the request to link a file in lost+found.
This invokes the CLEAR error condition later in Phase 4.
Check size and contents of lost+found.
(CLEAR)
The i-node mentioned in the immediately previous
UNREF error condition cannot be reconnected.
LINK COUNT FILE I=I OWNER=O MODE=M SIZE=S MTIME=T COUNT=X
SHOULD BE Y (ADJUST?)
The link count for i-node I, which is a file, is X
but should be Y.
The owner O, mode M, size S,
and modification time T are printed.
LINK COUNT DIR I=I OWNER=O MODE=M SIZE=S MTIME=T COUNT=X
SHOULD BE Y (ADJUST?)
The link count for i-node I, which is a directory,
is X but should be Y.
The owner O, mode M, size S,
and modification time T of directory i-node I are printed.
I-node I, which is a file, was not connected to a directory
entry when the filesystem was traversed.
The owner O, mode M, size S,
and modification time T of i-node I are printed.
If the -n option is omitted and the filesystem is not mounted,
empty files are cleared automatically. Non-empty directories are not cleared.
UNREF DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
I-node I, which is a directory, was not connected to a directory
entry when the filesystem was traversed.
The owner O, mode M, size S,
and modification time T of i-node I are printed.
If the -n option is omitted and the filesystem is not mounted,
empty directories are cleared automatically. Non-empty directories are not
cleared.
Phase 1 or Phase 1B found duplicate blocks or bad blocks associated with
file i-node I.
The owner O, mode M, size S,
and modification time T of i-node I are printed.
BAD/DUP DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
Phase 1 or Phase 1B found duplicate blocks or
bad blocks associated with directory i-node I.
The owner O, mode M, size S,
and modification time T of i-node I are printed.
FREE INODE COUNT WRONG IN SUPERBLK (FIX?)
The actual count of the free i-nodes does not match the count in the
super-block of the filesystem. If the -q option is specified,
the count will be fixed automatically in the super-block.
Phase 5: check free list
This phase checks the free-block list.
Meaning of yes/no responses -- Phase 5
Prompt
n(no)
y(yes)
CONTINUE?
Terminates the program.
Ignores rest of the free-block list and continues
execution of fsck.
This error condition will always invoke BAD BLKS IN FREE LIST
error condition later in Phase 5.
FIX?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Replaces count in super-block by actual count.
SALVAGE?
Ignores the error condition.
A ``no'' response is only appropriate if you intend to take other
measures to fix the problem.
Replaces actual free-block list with a new free-block list.
The new free-block list will be ordered
according to the gap and cylinder specs of the
-s or -S option to reduce
time spent waiting for the disk to rotate into
position.
Phase 5 error messages
EXCESSIVE BAD BLKS IN FREE LIST (CONTINUE?)
The free-block list contains more than a tolerable number
of blocks (usually 10) with a value less than the first data block in the filesystem
or greater than the last block in the filesystem.
EXCESSIVE DUP BLKS IN FREE LIST (CONTINUE?)
The free-block list contains more than a tolerable number
of blocks (usually 10) claimed by i-nodes or earlier parts of the free-block list.
BAD FREEBLK COUNT
The count of free blocks in a free-list block is greater than 50
or less than 0. This error condition will always invoke the
BAD FREE LIST condition later in Phase 5.
X BAD BLKS IN FREE LIST
X blocks in the free-block list have a block number lower
than the first data block in the filesystem or greater than
the last block in the filesystem. This error condition will always invoke
the BAD FREE LIST condition later in Phase 5.
X DUP BLKS IN FREE LIST
X blocks claimed by i-nodes or earlier parts of the free-block
list were found in the free-block list. This error condition will always
invoke the BAD FREE LIST condition later in Phase 5.
X BLK(S) MISSING
X blocks unused by the filesystem were not found in the
free-block list. This error condition will always invoke the
BAD FREE LIST condition later in Phase 5.
FREE BLK COUNT WRONG IN SUPERBLOCK (FIX?)
The actual count of free blocks does not match the count in the
super-block of the filesystem.
BAD FREE LIST (SALVAGE?)
This message is always preceded by one or more of the Phase 5
information messages. If the -q option is specified,
the free-block list will be salvaged automatically.
Additional HTFS-only messages:
DUPLICATE BLOCK IN INODE SUMMARY
A block referenced in the inode group summary is already
referenced by something else. A new block will be allocated
to resolve the contention.
bad indirect bitmap blockn
The structure used to keep track of allocated blocks on the
filesystem has referenced a block that lies outside the
filesystem. Under these circumstances fsck will try to
locate the bitmap blocks directly.
corrupted bitmap blockn
The structure used to keep track of allocated blocks on the
filesystem has referenced an unexpected block.
Phase 6: salvage free list
This phase reconstructs the free-block list.
It has one possible error condition that results from bad
blocks-per-cylinder and gap values.
Phase 6 error messages
DEFAULT FREE LIST SPACING ASSUMED
This is an advisory message indicating the blocks-to-skip (gap)
is greater than the blocks-per-cylinder, the blocks-to-skip is less
than 1, the blocks-per-cylinder is less than 1, or the blocks-per-cylinder
is greater than 500. The default values of 7 blocks-to-skip and
400 blocks-per-cylinder are used.
Cleanup phase
Once a filesystem has been checked, a few cleanup functions are performed.
The cleanup phase displays advisory messages about the filesystem
and status of the filesystem.
Cleanup phase messages
X files Y blocks Z free
This is an advisory message indicating that the filesystem checked contained
X files using Y blocks leaving
Z blocks free in the filesystem.
***** FILE SYSTEM WAS MODIFIED *****
This is an advisory message indicating that the current filesystem was
modified by fsck.
Warning
If DTFS or HTFS filesystems are being used, filesystem
metadata may be lost if both of the following conditions are true:
The SCSI host adapter being used has a
cache but does not support cache control.
The SCSI disk
containing the filesystems does not understand the
SCSI WRITE EXTENDED command with the
force unit access (FUA) bit set.
If the system with such a hardware combination crashes, run
fsck with the -ofull option specified for all the
filesystems at risk. You can protect the integrity of the
metadata by using a battery backup power supply with the
host adapter cache.
This only happens with write-back caches; write-through caches do not
have this problem.
Limitations
When checking the root filesystem, fsck automatically remounts
it if the damage is minor, or reboots the system.
This behavior is now mandatory.
fsck will not run on a mounted non-raw filesystem unless
the filesystem is the root filesystem or unless the -n
option is specified and no writing out of the filesystem
will take place. If any such attempt is made, a warning is displayed and
no further processing of the filesystem is done for the specified device.
Files
/etc/fscmd.d/fstyp
directory containing programs for each
filesystem type; each of these programs applies some appropriate heuristic
to determine whether the supplied special file is of the type
for which it checks