<chapter id="tsfsck-26279"><title>Resolving UFS
File System Inconsistencies (Tasks)</title><highlights><para>This chapter describes the <command>fsck</command> error messages and
the possible responses you can make to resolve the error messages.</para><itemizedlist><para>This is a list of the information in this chapter:</para><listitem><para><olink targetptr="tsfsck-30952" remap="internal">General fsck Error Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-12042" remap="internal">Initialization Phase fsck
Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-34304" remap="internal">Phase 1: Check Blocks and
Sizes Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-28771" remap="internal">Phase 1B: Rescan for More
DUPS Messages</olink></para>
</listitem><listitem><para><emphasis role="strong">Solaris 10:</emphasis> <olink targetptr="gbplj" remap="internal">Solaris 10:
Phase 1B: Rescan for More DUPS Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-42397" remap="internal">Phase 2: Check Path Names
Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-35922" remap="internal">Phase 3: Check Connectivity
Messages</olink></para>
</listitem><listitem><para><olink targetptr="tsfsck-23717" remap="internal">Phase 4: Check Reference Counts
Messages</olink></para>
</listitem><listitem><para><olink targetptr="gbrhu" remap="internal">Phase 5: Check Cylinder Groups Messages</olink></para>
</listitem><listitem><para><emphasis role="strong">Solaris
10:</emphasis> <olink targetptr="tsfsck-13919" remap="internal">Phase 5: Check Cylinder Groups
Messages</olink></para>
</listitem><listitem><para><olink targetptr="gbrht" remap="internal">fsck Summary Messages</olink></para>
</listitem><listitem><para><emphasis role="strong">Solaris
10:</emphasis> <olink targetptr="tsfsck-27555" remap="internal">Cleanup Phase Messages</olink></para>
</listitem>
</itemizedlist><para>For information about the <command>fsck</command> command and how to
use it to check file system integrity, see <olink targetdoc="sagdfs" targetptr="fstroublefsck-61446" remap="external">Chapter 22, <citetitle remap="chapter">Checking UFS File System Consistency (Tasks),</citetitle> in <citetitle remap="book">System Administration Guide: Devices and File Systems</citetitle></olink>.</para>
</highlights><sect1><title>New <command>fsck</command> Error Messages</title><para><emphasis role="strong">Solaris 10 6/06:</emphasis> In
this Solaris release, error messages that are displayed when you run the <command>fsck</command> command have changed. This section includes the revised <command>fsck</command> error messages. If you are not running at  least the Solaris
10 6/06 release, see the Solaris 10
version of the <citetitle>System Administration Guide: Advanced Administration</citetitle> at <ulink url="http://docs.sun.com" type="text_url"></ulink>. refer
to the error messages in this chapter that are labeled &ldquo;Solaris 10&rdquo;. For
a detailed description of all the <command>fsck</command> improvements in
the current Solaris release, see <olink targetdoc="sagdfs" remap="external"><citetitle remap="book">System Administration Guide: Devices and File Systems</citetitle></olink>.</para>
</sect1><sect1 id="tsfsck-1"><title><command>fsck</command> Error Messages</title><para>Normally, the <command>fsck</command> command is run non-interactively
to <emphasis>preen</emphasis> the file systems after an abrupt system halt
in which the latest file system changes were not written to disk. Preening
automatically fixes any basic file system inconsistencies and does not try
to repair more serious errors. While preening a file system, the <command>fsck</command> command
fixes the inconsistencies it expects from such an abrupt halt. For more serious
conditions, the command reports the error and terminates.</para><para>When you run the <command>fsck</command> command interactively, it reports
each inconsistency found and fixes innocuous errors. However, for more serious
errors, the command reports the inconsistency and prompts you to choose a
response. When you run the <command>fsck</command> command with the <option>y</option> or <option>n</option> options, your response is predefined as yes or no to the default
response suggested by the <command>fsck</command> command for each error condition.</para><para>Some corrective actions will result in some loss of data. The amount
and severity of data loss might be determined from the <command>fsck</command> diagnostic
output.</para><para>The <command>fsck</command> command is a multipass file system check
program. Each pass invokes a different phase of the <command>fsck</command> command
with different sets of messages. After initialization, the <command>fsck</command> command
performs successive passes over each file system, checking blocks and sizes,
path names, connectivity, reference counts, and the map of free blocks (possibly
rebuilding it). It also performs some cleanup.</para><itemizedlist><para>The phases (passes) performed by the UFS version of the <command>fsck</command> command
are:</para><listitem><para>Initialization</para>
</listitem><listitem><para>Phase 1 &ndash; Check Blocks and Sizes</para>
</listitem><listitem><para>Phase 2a &ndash; Check Duplicated Names</para>
</listitem><listitem><para>Phase 2b &ndash; Check Pathnames</para>
</listitem><listitem><para>Phase 3 &ndash; Check Connectivity</para>
</listitem><listitem><para>Phase 3b &ndash; Verify Shadows/ACLs</para>
</listitem><listitem><para>Phase 4 &ndash; Check Reference Counts</para>
</listitem><listitem><para>Phase 5 &ndash; Check Cylinder Groups</para>
</listitem>
</itemizedlist><para>The next sections describe the error conditions that might be detected
in each phase, the messages and prompts that result, and possible responses
you can make.</para><para>Messages that might appear in more than one phase are described in <olink targetptr="tsfsck-30952" remap="internal">General fsck Error Messages</olink>. Otherwise, messages
are organized alphabetically by the phases in which they occur. </para><para>The following table lists many of the abbreviations included in the <command>fsck</command> error messages.</para><table frame="topbot" id="tsfsck-38084"><title>Error Message Abbreviations</title><tgroup cols="2" colsep="0" rowsep="0"><colspec colname="column1" colwidth="109*"/><colspec colname="column2" colwidth="253*"/><thead><row rowsep="1"><entry><para>Abbreviation</para>
</entry><entry><para>Meaning</para>
</entry>
</row>
</thead><tbody><row><entry><para><literal>BLK</literal></para>
</entry><entry><para>Block number</para>
</entry>
</row><row><entry><para><literal>DUP</literal></para>
</entry><entry><para>Duplicate block number</para>
</entry>
</row><row><entry><para><literal>DIR</literal></para>
</entry><entry><para>Directory name</para>
</entry>
</row><row><entry><para><literal>CG</literal></para>
</entry><entry><para>Cylinder group</para>
</entry>
</row><row><entry><para><literal>MTIME</literal></para>
</entry><entry><para>Time file was last modified</para>
</entry>
</row><row><entry><para><literal>UNREF</literal></para>
</entry><entry><para>Unreferenced</para>
</entry>
</row>
</tbody>
</tgroup>
</table><para>Many of the messages also include variable fields, such as inode numbers,
which are represented in this book by an italicized term, such as <replaceable>inode-number</replaceable>. For example, this screen message:</para><screen>INCORRECT BLOCK COUNT I=2529</screen><para>is shown as follows:</para><screen>INCORRECT BLOCK COUNT I=<replaceable>inode-number</replaceable></screen><sect2 id="tsfsck-30952"><title>General <command>fsck</command> Error Messages</title><para>The error messages in this section might be displayed in any phase after
initialization. Although they offer the option to continue, it is generally
best to regard them as fatal. They reflect a serious system failure and should
be handled immediately. When confronted with such a message, terminate the
program by entering <command>n</command>(o). If you cannot determine what
caused the problem, contact your local service provider or another qualified
person.</para><screen>CANNOT SEEK: BLK <replaceable>disk-block-number</replaceable> (CONTINUE)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>CANNOT SEEK: BLK <replaceable>block-number</replaceable> (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A request to move to the specified block number, <replaceable>disk-block-number</replaceable>, in the file system failed. This message indicates a serious
problem, probably a hardware failure. </para><para><emphasis role="strong">Solaris 10:</emphasis> A request to move to the specified block
number, <replaceable>block-number</replaceable>, in the file system failed.
This message indicates a serious problem, probably a hardware failure.</para><para>If you want to continue the file system check, <command>fsck</command> will
retry the move and display a list of sector numbers that could not be moved.
If the block was part of the virtual memory buffer cache, <command>fsck</command> will
terminate with a fatal I/O error message.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If the disk is experiencing hardware problems, the problem
will persist. Run <command>fsck</command> again to recheck the file system.</para><para>If the recheck fails, contact your local service provider or another
qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>CANNOT READ: DISK BLOCK <replaceable>disk-block-number</replaceable>: I/O ERROR 
 CONTINUE?</screen><para><emphasis role="strong">Solaris
10:</emphasis></para><screen>CANNOT READ: DISK BLOCK <replaceable>block-number</replaceable>: I/O ERROR 
 CONTINUE?</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A request to read the specified block number, <replaceable>disk-block-number</replaceable>, in the file system failed. The message indicates a serious
problem, probably a hardware failure. </para><para><emphasis role="strong">Solaris 10:</emphasis> A request to read a specified block number, <replaceable>block-number</replaceable>, in the file system failed. The message indicates
a serious problem, probably a hardware failure. </para><para>If you want
to continue the file system check, <command>fsck</command> will retry the
read and display a list of sector numbers that could not be read. If the block
was part of the virtual memory buffer cache, <command>fsck</command> will
terminate with a fatal I/O error message. If <command>fsck</command> tries
to write back one of the blocks on which the read failed, it will display
the following message:</para><para><literal>WRITING ZERO'ED BLOCK</literal> <replaceable>sector-numbers</replaceable><literal>TO DISK</literal></para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If the disk is experiencing hardware problems, the problem
will persist. Run <command>fsck</command> again to recheck the file system.
If the recheck fails, contact your local service provider or another qualified
person.</para>
</listitem>
</varlistentry>
</variablelist><screen>CANNOT WRITE: BLK <replaceable>disk-block-number</replaceable> (CONTINUE)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>CANNOT WRITE: BLK <replaceable>block-number</replaceable> (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A request to write the specified block number, <replaceable>disk-block-number</replaceable>, in the file system failed. </para><para>If you continue the file system check, <command>fsck</command> will
retry the write and display a list of sector numbers that could not be written.
If the block was part of the virtual memory buffer cache, <command>fsck</command> will
terminate with a fatal I/O error message.</para><para><emphasis role="strong">Solaris 10:</emphasis> A request to write a specified block
number, <replaceable>block-number</replaceable>, in the file system failed. </para><para>If you continue the file system check, <command>fsck</command> will
retry the write and display a list of sector numbers that could not be written.
If the block was part of the virtual memory buffer cache, <command>fsck</command> will
terminate with a fatal I/O error message.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>The disk might be write-protected. Check the write-protect
lock on the drive. If the disk has hardware problems, the problem will persist.
Run <command>fsck</command> again to recheck the file system. If the write-protect
is not the problem or the recheck fails, contact your local service provider
or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-12042"><title>Initialization Phase <command>fsck</command> Messages</title><para>In the initialization phase, command-line syntax is checked. Before
the file system check can be performed, <command>fsck</command> sets up tables
and opens files.</para><para>The messages in this section relate to error conditions resulting from
command-line options, memory requests, the opening of files, the status of
files, file system size checks, and the creation of the scratch file. All
such initialization errors terminate <command>fsck</command> when it is preening
the file system.</para><screen>Can't roll the log for <replaceable>device-name</replaceable>.

DISCARDING THE LOG MAY DISCARD PENDING TRANSACTIONS.
DISCARD THE LOG AND CONTINUE?</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> was unable to flush the transaction
log of a logging UFS file system prior to checking the file system for errors.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Answering yes means the file system operations that were in
the log, but had not been applied to the file system, are lost. In this case, <command>fsck</command> runs the same checks it always runs and asks the following
question in phase 5:</para><screen>FREE BLK COUNT(S) WRONG IN SUPERBLK (SALVAGE)</screen><para>Answering yes at this point reclaims the blocks that were used for the
log. The next time the file system is mounted with logging enabled, the log
will be recreated.</para><para>Answering no preserves the log and exits, but the file system isn't
mountable.</para>
</listitem>
</varlistentry>
</variablelist><screen>bad inode number <replaceable>inode-number</replaceable> to ginode</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An internal error occurred because of a nonexistent inode <replaceable>inode-number</replaceable>. <command>fsck</command> exits.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Contact your local service provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>cannot alloc <replaceable>size-of-block map</replaceable> bytes for blockmap
cannot alloc <replaceable>size-of-free map</replaceable> bytes for freemap
cannot alloc <replaceable>size-of-state map</replaceable> bytes for statemap
cannot alloc <replaceable>size-of-lncntp</replaceable> bytes for lncntp</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Request for memory for its internal tables failed. <command>fsck</command> terminates.
This message indicates a serious system failure that should be handled immediately.
This condition might occur if other processes are using a very large amount
of system resources.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Killing other processes might solve the problem. If not, contact
your local service provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>Can't open checklist file: <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The file system checklist file <replaceable>filename</replaceable> (usually <filename>/etc/vfstab</filename>) cannot be opened for reading. <command>fsck</command> terminates.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Check if the file exists and if its access modes permit read
access.</para>
</listitem>
</varlistentry>
</variablelist><screen>Can't open <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> cannot open file system <replaceable>filename</replaceable>. When running interactively, <command>fsck</command> ignores
this file system and continues checking the next file system given.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Check to see if read and write access to the raw device file
for the file system is permitted.</para>
</listitem>
</varlistentry>
</variablelist><screen>Can't stat root</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> request for statistics about the root
directory failed. <command>fsck</command> terminates. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>This message indicates a serious system failure. Contact your
local service provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>Can't stat <replaceable>filename</replaceable>
Can't make sense out of name <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> request for statistics about the file
system <replaceable>filename</replaceable> failed. When running interactively, <command>fsck</command> ignores this file system and continues checking the next file
system given.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Check if the file system exists and check its access modes.</para>
</listitem>
</varlistentry>
</variablelist><screen><replaceable>filename</replaceable>: (NO WRITE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Either the <command>-n</command> option was specified or <command>fsck</command> could not open the file system <replaceable>filename</replaceable> for
writing. When <command>fsck</command> is running in no-write mode, all diagnostic
messages are displayed, but <command>fsck</command> does not attempt to fix
anything.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If <command>-n</command> was not specified, check the type
of the file specified. It might be the name of a regular file.</para>
</listitem>
</varlistentry>
</variablelist><screen>IMPOSSIBLE MINFREE=<replaceable>percent</replaceable> IN SUPERBLOCK (SET TO DEFAULT)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The superblock minimum space percentage is greater than 99
percent or less than 0 percent.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To set the <literal>minfree</literal> parameter to the default
10 percent, type <command>y</command> at the default prompt. To ignore the
error condition, type <command>n</command> at the default prompt.</para>
</listitem>
</varlistentry>
</variablelist><screen><replaceable>filename</replaceable>: BAD SUPER BLOCK: <replaceable>message</replaceable>
USE AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION;
e.g., fsck[-f ufs] -o b=# [special ...]
where # is the alternate superblock.  See fsck_ufs(1M)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The superblock has been corrupted.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>One of the following messages might be displayed:</para><screen>CPG OUT OF RANGE
FRAGS PER BLOCK OR FRAGSIZE WRONG
INODES PER GROUP OUT OF RANGE
INOPB NONSENSICAL RELATIVE TO BSIZE 
MAGIC NUMBER WRONG 
NCG OUT OF RANGE 
NCYL IS INCONSISTENT WITH NCG*CPG 
NUMBER OF DATA BLOCKS OUT OF RANGE
NUMBER OF DIRECTORIES OUT OF RANGE
ROTATIONAL POSITION TABLE SIZE OUT OF RANGE
SIZE OF CYLINDER GROUP SUMMARY AREA WRONG
SIZE TOO LARGE 
BAD VALUES IN SUPERBLOCK</screen><para>Try to rerun <command>fsck</command> with an alternative superblock.
Specifying block 32 is a good first choice. You can locate an alternative
copy of the superblock by running the <command>newfs -N</command> command
on the slice. Be sure to specify the <command>-N</command> option; otherwise, <command>newfs</command> overwrites the existing file system.</para>
</listitem>
</varlistentry>
</variablelist><screen>UNDEFINED OPTIMIZATION IN SUPERBLOCK (SET TO DEFAULT)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The superblock optimization parameter is neither <literal>OPT_TIME</literal> nor <literal>OPT_SPACE</literal>.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To minimize the time to perform operations on the file system,
type <command>y</command> at the <literal>SET TO DEFAULT</literal> prompt.
To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-34304"><title>Phase 1: Check Blocks and Sizes Messages</title><itemizedlist><para>This phase checks the inode list. It reports error conditions encountered
while: </para><listitem><para>Checking inode types</para>
</listitem><listitem><para>Setting up the zero-link-count table</para>
</listitem><listitem><para>Examining inode block numbers for bad or duplicate blocks</para>
</listitem><listitem><para>Checking inode size</para>
</listitem><listitem><para>Checking inode format</para>
</listitem>
</itemizedlist><para>All errors in this phase except <literal>INCORRECT BLOCK COUNT</literal>, <literal>PARTIALLY TRUNCATED INODE</literal>, <literal>PARTIALLY ALLOCATED INODE</literal>,
and <literal>UNKNOWN FILE TYPE</literal> terminate <command>fsck</command> when
it is preening a file system.</para><para>These messages (in alphabetical order) might occur in phase 1:</para><screen><replaceable>block-number</replaceable> BAD I=<replaceable>inode-number</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> contains a block
number <replaceable>block-number</replaceable> with a number lower than the
number of the first data block in the file system or greater than the number
of the last block in the file system. This error condition might generate
the <literal>EXCESSIVE BAD BLKS</literal> error message in phase 1 if inode <replaceable>inode-number</replaceable> has too many block numbers outside the file system
range. This error condition generates the <literal>BAD/DUP</literal> error
message in phases 2 and 4.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>N/A</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD MODE: MAKE IT A FILE?</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The status of a given inode is set to all 1s, indicating file
system damage. This message does not indicate physical disk damage, unless
it is displayed repeatedly after <command>fsck -y</command> has been run.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Type <command>y</command> to reinitialize the inode to a reasonable
value.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD STATE <replaceable>state-number</replaceable> TO BLKERR</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An internal error has scrambled the <command>fsck</command> state
map so that it shows the impossible value <replaceable>state-number</replaceable>. <command>fsck</command> exits immediately.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Contact your local service provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen><replaceable>fragment-number</replaceable> DUP I=<replaceable>inode-number</replaceable></screen><para><emphasis role="strong">Solaris
10:</emphasis></para><screen><replaceable>block-number</replaceable> DUP I=<replaceable>inode-number</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> contains a block
number <replaceable>fragment-number</replaceable>, which is already claimed
by the same or another inode. This error condition might generate the <literal>EXCESSIVE
DUP BLKS</literal> error message in phase 1 if inode <replaceable>inode-number</replaceable> has
too many block numbers claimed by the same or another inode. This error condition
invokes phase 1B and generates the <literal>BAD/DUP</literal> error messages
in phases 2 and 4.</para><para><emphasis role="strong">Solaris
10:</emphasis> Inode <replaceable>inode-number</replaceable> contains a block
number <replaceable>block-number</replaceable>, which is already claimed by
the same or another inode. This error condition might generate the <literal>EXCESSIVE
DUP BLKS</literal> error message in phase 1 if inode <replaceable>inode-number</replaceable> has
too many block numbers claimed by the same or another inode. This error condition
invokes phase 1B and generates the <literal>BAD/DUP</literal> error messages
in phases 2 and 4.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>N/A</para>
</listitem>
</varlistentry>
</variablelist><screen>DUP TABLE OVERFLOW (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> could not allocate memory to track
duplicate fragments. If the <command>-o p</command> option is specified, the
program terminates.</para><para><emphasis role="strong">Solaris
10:</emphasis> There is no more room in an internal table in <command>fsck</command> containing
duplicate block numbers. If the <command>-o p</command> option is specified,
the program terminates.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To continue the program, type <command>y</command> at the <literal>CONTINUE</literal> prompt. When this error occurs, a complete check of the
file system is not possible. If another duplicate fragment is found, this
error condition repeats. Increase the amount of virtual memory available (by
killing some processes, increasing swap space) and run <command>fsck</command> again
to recheck the file system. To terminate the program, type <command>n</command>.</para><para><emphasis role="strong">Solaris 10: </emphasis> To continue the program, type <command>y</command> at
the <literal>CONTINUE</literal> prompt. When this error occurs, a complete
check of the file system is not possible. If another duplicate block is found,
this error condition repeats. Increase the amount of virtual memory available
(by killing some processes, increasing swap space) and run <command>fsck</command> again
to recheck the file system. To terminate the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>EXCESSIVE BAD FRAGMENTS I=inode-number (CONTINUE)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>EXCESSIVE BAD BLOCKS I=inode-number (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Too many (usually more than 10) fragments indicate an invalid
disk address. If the <command>-o p</command> (preen) option is specified,
the program terminates.</para><para><emphasis role="strong">Solaris 10:</emphasis> Too many (usually more than 10) blocks
have a number lower than the number of the first data block in the file system
or greater than the number of the last block in the file system associated
with inode <replaceable>inode-number</replaceable>. If the <command>-o p</command> (preen)
option is specified, the program terminates.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To continue the program, type <command>y</command> at the <literal>CONTINUE</literal> prompt. When this error occurs, a complete check of the
file system is not possible. You should run <command>fsck</command> again
to recheck the file system. To terminate the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>EXCESSIVE DUP BLKSDUPLICATE FRAGMENTS I=inode-number (CONTINUE)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>EXCESSIVE DUP BLKS I=inode-number (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Too many (usually more than 10) fragments are claimed by the
same or another inode or by a free-list. If the <command>-o p</command> option
is specified, the program terminates.</para><para><emphasis role="strong">Solaris 10:</emphasis> Too many (usually more than 10) blocks
are claimed by the same or another inode or by a free-list. If the <command>-o
p</command> option is specified, the program terminates.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To continue the program, type <command>y</command> at the <literal>CONTINUE</literal> prompt. When this error occurs, a complete check of the
file system is not possible. You should run <command>fsck</command> again
to recheck the file system. To terminate the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>INCORRECT DISK BLOCK COUNT I=inode-number (<replaceable>number</replaceable><replaceable>-of-</replaceable><replaceable>BAD-</replaceable><replaceable>DUP</replaceable><replaceable>-or-</replaceable><replaceable>missing</replaceable><replaceable>-blocks</replaceable>
should be <replaceable>number</replaceable><replaceable>-of-</replaceable><replaceable>blocks</replaceable><replaceable>-in-</replaceable><replaceable>filesystem</replaceable>) (CORRECT)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>INCORRECT BLOCK COUNT I=inode-number (<replaceable>number</replaceable><replaceable>-of-</replaceable><replaceable>BAD-</replaceable><replaceable>DUP</replaceable><replaceable>-or-</replaceable><replaceable>missing</replaceable><replaceable>-blocks</replaceable>
should be <replaceable>number</replaceable><replaceable>-of-</replaceable><replaceable>blocks</replaceable><replaceable>-in-</replaceable><replaceable>filesystem</replaceable>) (CORRECT)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The disk block count for inode <replaceable>inode-number</replaceable> is
incorrect.. When preening, <command>fsck</command> corrects the count.</para><para><emphasis role="strong">Solaris 10:</emphasis> The block count for inode <replaceable>inode-number</replaceable> is <replaceable>number-of-BAD-DUP-or-missing-blocks</replaceable>,
but should be <replaceable>number-of-blocks-in-filesystem</replaceable>. When
preening, <command>fsck</command> corrects the count.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To correct the disk block count of inode <replaceable>inode-number</replaceable> by <replaceable>number-of-blocks-in-file</replaceable>, type <command>y</command> at the <literal>CORRECT</literal> prompt. .</para><para><emphasis role="strong">Solaris 10:</emphasis> To replace the block count of inode <replaceable>inode-number</replaceable> by <replaceable>number-of-blocks-in-filesystem</replaceable>,
type <command>y</command> at the <literal>CORRECT</literal> prompt. To terminate
the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>LINK COUNT TABLE OVERFLOW (CONTINUE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>There is no more room in an internal table for <command>fsck</command> containing
allocated inodes with a link count of zero. If the <command>-o p</command> (preen)
option is specified, the program exits and <command>fsck</command> has to
be completed manually.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To continue the program, type <command>y</command> at the <literal>CONTINUE</literal> prompt. If another allocated inode with a zero-link count
is found, this error condition repeats. When this error occurs, a complete
check of the file system is not possible. You should run <command>fsck</command> again
to recheck the file system. Increase the virtual memory available by killing
some processes or increasing swap space, then run <command>fsck</command> again.
To terminate the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>PARTIALLY ALLOCATED INODE I=<replaceable>inode-number</replaceable> (CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> is neither allocated
nor unallocated. If the <command>-o p</command> (preen) option is specified,
the inode is cleared.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate the inode <replaceable>inode-number</replaceable> by
zeroing out its contents, type <command>y</command>. This might generate the <literal>UNALLOCATED</literal> error condition in phase 2 for each directory entry
pointing to this inode. To ignore the error condition, type <command>n</command>.
A no response is appropriate only if you intend to take other measures to
fix the problem.</para>
</listitem>
</varlistentry>
</variablelist><screen>PARTIALLY TRUNCATED INODE I=<replaceable>inode-number</replaceable> (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> has found inode <replaceable>inode-number</replaceable> whose size is shorter than the number of fragments allocated
to it. This condition occurs only if the system crashes while truncating a
file. When preening the file system, <command>fsck</command> completes the
truncation to the specified size.</para><para><emphasis role="strong">Solaris 10:</emphasis> <command>fsck</command> has found inode <replaceable>inode-number</replaceable> whose size is shorter than the number of blocks
allocated to it. This condition occurs only if the system crashes while truncating
a file. When preening the file system, <command>fsck</command> completes the
truncation to the specified size.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To complete the truncation to the size specified in the inode,
type <command>y</command> at the <literal>SALVAGE</literal> prompt. To ignore
this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>UNKNOWN FILE TYPE I=<replaceable>inode-number</replaceable> (CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The mode word of the inode <replaceable>inode-number</replaceable> shows
that the inode is not a pipe,  character device,  block device, regular file,
symbolic link, FIFO file, or directory inode. If the <command>-o p</command> option
is specified, the inode is cleared.</para><para><emphasis role="strong">Solaris 10:</emphasis> The mode word of the inode <replaceable>inode-number</replaceable> shows that the inode is not a pipe, special character inode,
special block inode, regular inode, symbolic link, FIFO file, or directory
inode. If the <command>-o p</command> option is specified, the inode is cleared.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate the inode <replaceable>inode-number</replaceable> by
zeroing its contents, which results in the <literal>UNALLOCATED</literal> error
condition in phase 2 for each directory entry pointing to this inode, type <command>y</command> at the <literal>CLEAR</literal> prompt. To ignore this error condition,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="gbplj"><title>Solaris 10: Phase 1B: Rescan for More DUPS Messages</title><para>This sections contains phase 1B <command>fsck</command> messages in the current
Solaris release.</para><para>When a duplicate fragment is found in the file system, this message
is displayed:</para><screen>fragment DUP I=<replaceable>inode-number</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> contains a fragment
number <replaceable>fragment-number</replaceable> that is already claimed
by the same or another inode. This error condition generates the <literal>BAD/DUP</literal> error message in phase 2. Inodes that have overlapping fragments
might be determined by examining this error condition and the <literal>DUP</literal> error
condition in phase 1. This is simplified by the duplicate fragment report
produced at the fsck run.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>When a duplicate block is found, the file system is rescanned
to find the inode that previously claimed that block.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-28771"><title>Phase 1B:
Rescan for More DUPS Messages</title><para>This sections contains <command>fsck</command> messages in the Solaris 10 release.</para><para>When a duplicate block is found in the file system, this message is
displayed:</para><screen>block-number DUP I=<replaceable>inode-number</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> contains a block
number <replaceable>block-number</replaceable> that is already claimed by
the same or another inode. This error condition generates the <literal>BAD/DUP</literal> error
message in phase 2. Inodes that have overlapping blocks might be determined
by examining this error condition and the <literal>DUP</literal> error condition
in phase 1.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>When a duplicate block is found, the file system is rescanned
to find the inode that previously claimed that block.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-42397"><title>Phase 2: Check Path Names Messages</title><itemizedlist><para>This phase removes directory entries pointing to bad inodes found in
phases 1 and 1B. It reports error conditions resulting from:</para><listitem><para>Incorrect root inode mode and status</para>
</listitem><listitem><para>Directory inode pointers out of range</para>
</listitem><listitem><para>Directory entries pointing to bad inodes</para>
</listitem><listitem><para>Directory integrity checks</para>
</listitem>
</itemizedlist><para>When the file system is being preened (<option>o</option> <option>p</option>option),
all errors in this phase terminate <command>fsck</command>, except those related
to directories not being a multiple of the block size, duplicate and bad blocks,
inodes out of range, and extraneous hard links.</para><para>These messages (in alphabetical order) might occur in phase 2:</para><screen>BAD INODE <replaceable>state-number</replaceable> TO DESCEND</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An <command>fsck</command> internal error has passed an invalid
state <replaceable>state-number</replaceable> to the routine that descends
the file system directory structure. <command>fsck</command> exits.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD INODE NUMBER FOR '.' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose inode number for &ldquo;<filename>.</filename>&rdquo; does not
equal <replaceable>inode-number</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To change the inode number for &ldquo;<filename>.</filename>&rdquo;
to be equal to <replaceable>inode-number</replaceable>, type <command>y</command> at
the <literal>FIX</literal> prompt To leave the inode numbers for &ldquo;<filename>.</filename>&rdquo; unchanged, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD INODE NUMBER FOR '..' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose inode number for &ldquo;<filename>..</filename>&rdquo; does not
equal the parent of <replaceable>inode-number</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To change the inode number for &ldquo;<filename>..</filename>&rdquo;
to be equal to the parent of <replaceable>inode-number</replaceable>, type <command>y</command> at the <literal>FIX</literal> prompt. (Note that &ldquo;<filename>..</filename>''
in the root inode points to itself.) To leave the inode number for &ldquo;<filename>..</filename>&rdquo; unchanged, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD RETURN STATE <replaceable>state-number</replaceable> FROM DESCEND</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An <command>fsck</command> internal error has returned an
impossible state <replaceable>state-number</replaceable> from the routine
that descends the file system directory structure. <command>fsck</command> exits. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this message is displayed, contact your local service provider
or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD STATE <replaceable>state-number</replaceable> FOR ROOT INODE</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An internal error has assigned an impossible state <replaceable>state-number</replaceable> to the root inode. <command>fsck</command> exits. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>BAD STATE <replaceable>state-number</replaceable> FOR INODE=<replaceable>inode-number</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An internal error has assigned an impossible state <replaceable>state-number</replaceable> to inode <replaceable>inode-number</replaceable>. <command>fsck</command> exits. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>DIRECTORY TOO SHORT I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>filename</replaceable> has been found
whose size <replaceable>file-size</replaceable> is less than the minimum directory
size. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>,
size <replaceable>file-size</replaceable>, modify time <replaceable>modification-time</replaceable>, and directory name <replaceable>filename</replaceable> are
displayed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To increase the size of the directory to the minimum directory
size, type <command>y</command> at the <literal>FIX</literal> prompt. To ignore
this directory, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>DIRECTORY <replaceable>filename</replaceable>: LENGTH <replaceable>file-size</replaceable> NOT MULTIPLE OF <replaceable>disk-block-size</replaceable> (ADJUST)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>DIRECTORY <replaceable>filename</replaceable>: LENGTH <replaceable>file-size</replaceable> NOT MULTIPLE OF <replaceable>block-number</replaceable> (ADJUST)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>filename</replaceable> has been found
with size <replaceable>file-size</replaceable> that is not a multiple of the
directory block size <replaceable>disk-block-size</replaceable>.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>A directory <replaceable>filename</replaceable> has been found with size <replaceable>file-size</replaceable> that
is not a multiple of the directory block size <replaceable>block-number</replaceable>.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To round up the length to the appropriate disk block size,
type <command>y</command>. When preening the file system (<command>-o p</command> option), <command>fsck</command> only displays a warning and adjusts the directory. To ignore
this condition, type <command>n</command>.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>To
round up the length to the appropriate block size, type <command>y</command>.
When preening the file system (<command>-o p</command> option), <command>fsck</command> only
displays a warning and adjusts the directory. To ignore this condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>DIRECTORY CORRUPTED I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory with an inconsistent internal state has been found.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To throw away all entries up to the next directory boundary
(usually a 512-byte boundary), type <command>y</command> at the <literal>SALVAGE</literal> prompt.
This drastic action can throw away up to 42 entries. Take this action only
after other recovery efforts have failed. To skip to the next directory boundary
and resume reading, but not modify the directory, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>DUP/BAD I=<replaceable>inode-number</replaceable> OWNER=O MODE=M SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> TYPE=<replaceable>filename</replaceable> (REMOVE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Phase 1 or phase 1B found duplicate fragments or bad fragments
associated with directory or file entry <replaceable>filename</replaceable>,
inode <replaceable>inode-number</replaceable>. The owner <replaceable>UID</replaceable>,
mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>,
modification time <replaceable>modification-time</replaceable>, and directory
or file name <replaceable>filename</replaceable> are displayed. If the <command>-op</command> (preen) option is specified, the duplicate/bad fragments are removed.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>Phase
1 or phase 1B found duplicate blocks or bad blocks associated with directory
or file entry <replaceable>filename</replaceable>, inode <replaceable>inode-number</replaceable>. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, modification time <replaceable>modification-time</replaceable>, and directory or file name <replaceable>filename</replaceable> are displayed. If the <command>-op</command> (preen) option
is specified, the duplicate/bad blocks are removed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To remove the directory or file entry <replaceable>filename</replaceable>,
type <command>y</command> at the <literal>REMOVE</literal> prompt. To ignore
this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>DUPS/BAD IN ROOT INODE (REALLOCATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Phase 1 or phase 1B has found duplicate fragments or bad fragments
in the root inode, ( inode number 20, of the file system.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>Phase
1 or phase 1B has found duplicate blocks or bad blocks in the root inode (usually
inode number 2 of the file system.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To clear the existing contents of the root inode and reallocate
it, type <command>y</command> at the <literal>REALLOCATE</literal> prompt.
The files and directories usually found in the root inode will be recovered
in phase 3 and put into the <filename>lost+found</filename> directory. If
the attempt to allocate the root fails, <command>fsck</command> will exit
with: <literal>CANNOT ALLOCATE ROOT INODE</literal>. Type <command>n</command> to
get the <literal>CONTINUE</literal> prompt. Type: <command>y</command> to
respond to the <literal>CONTINUE</literal> prompt, and ignore the <literal>DUPS/BAD</literal> error condition in the root inode and continue running the file
system check. If the root inode is not correct, this might generate many other
error messages. Type <command>n</command> to terminate the program.</para>
</listitem>
</varlistentry>
</variablelist><screen>EXTRA '.' ENTRY I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found that has more than one entry for &ldquo;<filename>.</filename>&rdquo;.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To remove the extra entry for &ldquo;<filename>.</filename>&rdquo;
type <command>y</command> at the <literal>FIX</literal> prompt. To leave the
directory unchanged, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>EXTRA '..' ENTRY I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found that has more than one entry for &ldquo;<filename>..</filename>&rdquo;
(the parent directory).</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To remove the extra entry for `<filename>..</filename>' (the
parent directory), type <command>y</command> at the <literal>FIX</literal> prompt.
To leave the directory unchanged, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen><replaceable>hard-link-number</replaceable> IS AN EXTRANEOUS HARD LINK TO A DIRECTORY <replaceable>filename</replaceable> (REMOVE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para><command>fsck</command> has found an extraneous hard link <replaceable>hard-link-number</replaceable> to a directory <replaceable>filename</replaceable>.
When preening (<command>-o p</command> option), <command>fsck</command> ignores
the extraneous hard links.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To delete the extraneous entry <replaceable>hard-link-number</replaceable> type <command>y</command> at the <literal>REMOVE</literal> prompt. To ignore the error condition,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen><replaceable>inode-number</replaceable> OUT OF RANGE I=<replaceable>inode-number</replaceable> NAME=<replaceable>filename</replaceable> (REMOVE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory entry <replaceable>filename</replaceable> has
an inode number <replaceable>inode-number</replaceable> that is greater than
the end of the inode list. If the <command>-p</command> (preen) option is
specified, the inode will be removed automatically.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To delete the directory entry <replaceable>filename</replaceable> type <command>y</command> at the <literal>REMOVE</literal> prompt. To ignore the error condition,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '.' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose first entry (the entry for &ldquo;<filename>.</filename>&rdquo;)
is unallocated.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To build an entry for &ldquo;<filename>.</filename>&rdquo;
with inode number equal to <replaceable>inode-number</replaceable>, type <command>y</command> at the <literal>FIX</literal> prompt. To leave the directory unchanged,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '.' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> CANNOT FIX, FIRST ENTRY IN 
DIRECTORY CONTAINS <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose first entry is <replaceable>filename</replaceable>. <command>fsck</command> cannot
resolve this problem. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '.' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> CANNOT FIX, INSUFFICIENT 
SPACE TO ADD '.'</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose first entry is not &ldquo;<filename>.</filename>&rdquo;. <command>fsck</command> cannot resolve the problem.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '..' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (FIX)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose second entry is unallocated.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To build an entry for &ldquo;<filename>..</filename>&rdquo;
with inode number equal to the parent of <replaceable>inode-number</replaceable>,
type <command>y</command> at the <literal>FIX</literal> prompt. (Note that &ldquo;<filename>..</filename>'' in the root inode points to itself.) To leave the directory
unchanged, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '..' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> CANNOT FIX, SECOND ENTRY IN 
DIRECTORY CONTAINS <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose second entry is <replaceable>filename</replaceable>. <command>fsck</command> cannot
resolve this problem. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>MISSING '..' I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> CANNOT FIX, INSUFFICIENT SPACE 
TO ADD '..'</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>inode-number</replaceable> has been
found whose second entry is not &ldquo;<filename>..</filename>&rdquo; (the
parent directory). <command>fsck</command> cannot resolve this problem. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this error message is displayed, contact your local service
provider or another qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>NAME TOO LONG <replaceable>filename</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An excessively long path name has been found, which usually
indicates loops in the file system name space. This error can occur if a privileged
user has made circular links to directories. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>Remove the circular links.</para>
</listitem>
</varlistentry>
</variablelist><screen>ROOT INODE UNALLOCATED (ALLOCATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The root inode (usually inode number 2) has no allocate-mode
bits.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To allocate inode 2 as the root inode, type <command>y</command> at
the <literal>ALLOCATE</literal> prompt. The files and directories usually
found in the root inode will be recovered in phase 3 and put into the <filename>lost+found</filename> directory. If the attempt to allocate the root inode fails, <command>fsck</command> displays this message and exits: <literal>CANNOT ALLOCATE ROOT
INODE</literal>. To terminate the program, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>ROOT INODE NOT DIRECTORY (REALLOCATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The root inode (usually inode number 2) of the file system
is not a directory inode.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To clear the existing contents of the root inode and reallocate
it, type <command>y</command> at the <literal>REALLOCATE</literal> prompt.
The files and directories usually found in the root inode will be recovered
in phase 3 and put into the <filename>lost+found</filename> directory. If
the attempt to allocate the root inode fails, <command>fsck</command> displays
this message and exits: <literal>CANNOT ALLOCATE ROOT INODE</literal>. To
have <command>fsck</command> prompt with <literal>FIX</literal>, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>UNALLOCATED I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> type=<replaceable>filename</replaceable>(REMOVE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory or file entry <replaceable>filename</replaceable> points
to an unallocated inode <replaceable>inode-number</replaceable>. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, modify time <replaceable>modification-time</replaceable>,
and file name <replaceable>filename</replaceable> are displayed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To delete the directory entry <replaceable>filename</replaceable>,
type <command>y</command> at the <literal>REMOVE</literal> prompt. To ignore
the error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>ZERO LENGTH DIRECTORY I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable> DIR=<replaceable>filename</replaceable> (REMOVE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory entry <replaceable>filename</replaceable> has
a size <replaceable>file-size</replaceable> that is zero. The owner UID, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, modify
time <replaceable>modification-time</replaceable>, and directory name <replaceable>filename</replaceable> are displayed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To remove the directory entry <replaceable>filename</replaceable>,
type <command>y</command> at the <literal>REMOVE</literal> prompt. This results
in the <literal>BAD/DUP</literal> error message in phase 4. To ignore the
error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-35922"><title>Phase 3: Check Connectivity Messages</title><itemizedlist><para>This phase checks the directories examined in phase 2 and reports error
conditions resulting from:</para><listitem><para>Unreferenced directories</para>
</listitem><listitem><para>Missing or full <filename>lost+found</filename> directories</para>
</listitem>
</itemizedlist><para>These messages (in alphabetical order) might occur in phase 3:</para><screen>BAD INODE <replaceable>state-number</replaceable> TO DESCEND</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>An internal error has caused an impossible state <replaceable>state-number</replaceable> to be passed to the routine that descends the file system directory
structure. <command>fsck</command> exits. </para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this occurs, contact your local service provider or another
qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>DIR I=<replaceable>inode-number1</replaceable> CONNECTED. PARENT WAS I=<replaceable>inode-number2</replaceable></screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>This is an advisory message indicating a directory inode <replaceable>inode-number1</replaceable> was successfully connected to the <filename>lost+found</filename> directory. The parent inode <replaceable>inode-number2</replaceable> of
the directory inode <replaceable>inode-number1</replaceable> is replaced by
the inode number of the <filename>lost+found</filename> directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>N/A</para>
</listitem>
</varlistentry>
</variablelist><screen>DIRECTORY <replaceable>filename</replaceable> LENGTH <replaceable>file-size</replaceable> NOT MULTIPLE OF <replaceable>disk-block-size</replaceable> (ADJUST)</screen><para><emphasis role="strong">Solaris 10:</emphasis></para><screen>DIRECTORY <replaceable>filename</replaceable> LENGTH <replaceable>file-size</replaceable> NOT MULTIPLE OF <replaceable>block-number</replaceable> (ADJUST)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory <replaceable>filename</replaceable> has been found
with size <replaceable>file-size</replaceable> that is not a multiple of the
directory block size B. (This condition can recur in phase 3 if it is not
adjusted in phase 2.)</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To round up the length to the appropriate disk block size,
type <command>y</command> at the <literal>ADJUST</literal> prompt. When preening, <command>fsck</command> displays a warning and adjusts the directory. To ignore this
error condition, type <command>n</command>.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>To
round up the length to the appropriate block size, type <command>y</command> at
the <literal>ADJUST</literal> prompt. When preening, <command>fsck</command> displays
a warning and adjusts the directory. To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>lost+found IS NOT A DIRECTORY (REALLOCATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The entry for <filename>lost+found</filename> is not a directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To allocate a directory inode and change the <filename>lost+found</filename> directory to reference it, type <command>y</command> at the <literal>REALLOCATE</literal> prompt. The previous inode reference by the <filename>lost+found</filename> directory is not cleared and it will either be reclaimed as an
unreferenced inode or have its link count adjusted later in this phase. Inability
to create a <filename>lost+found</filename> directory displays the message: <literal>SORRY. CANNOT CREATE lost+found DIRECTORY</literal> and aborts the attempt
to link up the lost inode, which generates the <literal>UNREF</literal> error
message in phase 4. To abort the attempt to link up the lost inode, which
generates the <literal>UNREF</literal> error message in phase 4, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>NO lost+found DIRECTORY (CREATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>There is no <filename>lost+found</filename> directory in the
root directory of the file system. When preening, <command>fsck</command> tries
to create a <filename>lost+found</filename> directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To create a <filename>lost+found</filename> directory in the
root of the file system, type <command>y</command> at the <literal>CREATE</literal> prompt.
This might lead to the message <command>NO SPACE LEFT IN / (EXPAND)</command>.
If the <filename>lost+found</filename> directory cannot be created, <command>fsck</command> displays the message: <literal>SORRY. CANNOT CREATE lost+found
DIRECTORY</literal> and aborts the attempt to link up the lost inode. This
in turn generates the <literal>UNREF</literal> error message later in phase
4. To abort the attempt to link up the lost inode, type n.</para>
</listitem>
</varlistentry>
</variablelist><screen>NO SPACE LEFT IN /lost+found (EXPAND)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Another entry cannot be added to the <filename>lost+found</filename> directory
in the root directory of the file system because no space is available. When
preening, <command>fsck</command> expands the <filename>lost+found</filename> directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To expand the <filename>lost+found</filename> directory to
make room for the new entry, type y at the <literal>EXPAND</literal> prompt.
If the attempted expansion fails, <command>fsck</command> displays: <literal>SORRY.
NO SPACE IN lost+found DIRECTORY</literal> and aborts the request to link
a file to the <filename>lost+found</filename> directory. This error generates
the <literal>UNREF</literal> error message later in phase 4. Delete any unnecessary
entries in the <filename>lost+found</filename> directory. This error terminates <command>fsck</command> when preening is in effect. To abort the attempt to link up
the lost inode, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>UNREF DIR I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> (RECONNECT)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The directory inode <replaceable>inode-number</replaceable> was
not connected to a directory entry when the file system was traversed. The
owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>,
size <replaceable>file-size</replaceable>, and modification time <replaceable>modification-time</replaceable> of directory inode <replaceable>inode-number</replaceable> are
displayed. When preening, <command>fsck</command> reconnects the non-empty
directory inode if the directory size is non-zero. Otherwise, <command>fsck</command> clears
the directory inode.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconnect the directory inode <replaceable>inode-number</replaceable> into
the <filename>lost+found</filename> directory, type <command>y</command> at
the <literal>RECONNECT</literal> prompt. If the directory is successfully
reconnected, a <literal>CONNECTED</literal> message is displayed. Otherwise,
one of the <filename>lost+found</filename> error messages is displayed. To
ignore this error condition, type <command>n</command>. This error causes
the <literal>UNREF</literal> error condition in phase 4.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-23717"><title>Phase 4: Check Reference Counts Messages</title><itemizedlist><para>This phase checks the link count information obtained in phases 2 and
3. It reports error conditions resulting from: </para><listitem><para>Unreferenced files</para>
</listitem><listitem><para>A missing or full <filename>lost+found</filename> directory</para>
</listitem><listitem><para>Incorrect link counts for files, directories, symbolic links,
or special files</para>
</listitem><listitem><para>Unreferenced files, symbolic links, and directories</para>
</listitem><listitem><para>Bad or duplicate fragments in files and directories</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>Bad
or duplicate blocks in files and directories</para>
</listitem><listitem><para>Incorrect total free-inode counts</para>
</listitem>
</itemizedlist><para>All errors in this phase (except running out of space in the <filename>lost+found</filename> directory) are correctable when the file system is being preened.</para><para>These messages (in alphabetical order) might occur in phase 4:</para><screen>BAD/DUP <replaceable>type</replaceable> I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> (CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Phase 1 or phase 1B found duplicate fragments or bad fragments
associated with file or directory inode <replaceable>inode-number</replaceable>.
The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>,
size <replaceable>file-size</replaceable>, and modification time <replaceable>modification-time</replaceable> of inode <replaceable>inode-number</replaceable> are displayed.</para><para><emphasis role="strong">Solaris 10:</emphasis></para><para>Phase
1 or phase 1B found duplicate blocks or bad blocks associated with file or
directory inode <replaceable>inode-number</replaceable>. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, and modification time <replaceable>modification-time</replaceable> of
inode <replaceable>inode-number</replaceable> are displayed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate inode <replaceable>inode-number</replaceable> by
zeroing its contents, type <command>y</command> at the <literal>CLEAR</literal> prompt.
To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>(CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The inode mentioned in the <literal>UNREF</literal> error
message immediately preceding cannot be reconnected. This message does not
display if the file system is being preened because lack of space to reconnect
files terminates <command>fsck</command>.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate the inode by zeroing out its contents, type <command>y</command> at the <literal>CLEAR</literal> prompt. To ignore the preceding
error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>LINK COUNT <replaceable>type</replaceable> I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable>
MTIME=<replaceable>modification-time</replaceable> COUNT <replaceable>link-count</replaceable> SHOULD BE <replaceable></replaceable>
corrected-link-count (ADJUST)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The link count for directory or file inode <replaceable>inode-number</replaceable> is <replaceable>link-count</replaceable> but should be <replaceable>corrected-link-count</replaceable>. The owner <replaceable>UID</replaceable>,
mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>,
and modification time <replaceable>modification-time</replaceable> of inode <replaceable>inode-number</replaceable> are displayed. If the <command>-o p</command> option
is specified, the link count is adjusted unless the number of references is
increasing. This condition does not occur unless there is a hardware failure.
When the number of references is increasing during preening, <command>fsck</command> displays
this message and exits: <literal>LINK COUNT INCREASING</literal></para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To replace the link count of directory or file inode <replaceable>inode-number</replaceable> with <replaceable>corrected-link-count</replaceable>,
type <command>y</command> at the <literal>ADJUST</literal> prompt. To ignore
this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>lost+found IS NOT A DIRECTORY (REALLOCATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The entry for <filename>lost+found</filename> is not a directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To allocate a directory inode and change the <filename>lost+found</filename> directory to reference it, type <command>y</command> at the <literal>REALLOCATE</literal> prompt. The previous inode reference by the <filename>lost+found</filename> directory is not cleared. It will either be reclaimed as an unreferenced
inode or have its link count adjusted later in this phase. Inability to create
a <filename>lost+found</filename> directory displays this message: <literal>SORRY.
CANNOT CREATE lost+found DIRECTORY</literal> and aborts the attempt to link
up the lost inode. This error generates the <literal>UNREF</literal> error
message later in phase 4. To abort the attempt to link up the lost inode,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>NO lost+found DIRECTORY (CREATE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>There is no <filename>lost+found</filename> directory in the
root directory of the file system. When preening, <command>fsck</command> tries
to create a <filename>lost+found</filename> directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To create a <filename>lost+found</filename> directory in the
root of the file system, type <command>y</command> at the <literal>CREATE</literal> prompt.
If the <filename>lost+found</filename> directory cannot be created, <command>fsck</command> displays the message: <literal>SORRY. CANNOT CREATE lost+found
DIRECTORY</literal> and aborts the attempt to link up the lost inode. This
error in turn generates the <literal>UNREF</literal> error message later in
phase 4. To abort the attempt to link up the lost inode, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>NO SPACE LEFT IN / lost+found (EXPAND)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>There is no space to add another entry to the <filename>lost+found</filename> directory in the root directory of the file system. When preening, <command>fsck</command> expands the <filename>lost+found</filename> directory.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To expand the <filename>lost+found</filename> directory to
make room for the new entry, type <command>y</command> at the <literal>EXPAND</literal> prompt.
If the attempted expansion fails, <command>fsck</command> displays the message: <literal>SORRY. NO SPACE IN lost+found DIRECTORY</literal> and aborts the request to
link a file to the <filename>lost+found</filename> directory. This error generates
the <literal>UNREF</literal> error message later in phase 4. Delete any unnecessary
entries in the <filename>lost+found</filename> directory. This error terminates <command>fsck</command> when preening (<command>-o p</command> option) is in effect.
To abort the attempt to link up the lost inode, type <command>n</command>. </para>
</listitem>
</varlistentry>
</variablelist><screen>UNREF FILE I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> (RECONNECT)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>File inode <replaceable>inode-number</replaceable> was not
connected to a directory entry when the file system was traversed. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, and modification time <replaceable>modification-time</replaceable> of
inode <replaceable>inode-number</replaceable> are displayed. When <command>fsck</command> is
preening, the file is cleared if either its size or its link count is zero;
otherwise, it is reconnected.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconnect inode <replaceable>inode-number</replaceable> to
the file system in the <filename>lost+found</filename> directory, type <command>y</command>. This error might generate the <filename>lost+found</filename> error
message in phase 4 if there are problems connecting inode <replaceable>inode-number</replaceable> to the <filename>lost+found</filename> directory. To ignore
this error condition, type <command>n</command>. This error always invokes
the <literal>CLEAR</literal> error condition in phase 4.</para>
</listitem>
</varlistentry>
</variablelist><screen>UNREF <replaceable>type</replaceable> I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> SIZE=<replaceable>file-size</replaceable> 
MTIME=<replaceable>modification-time</replaceable> (CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>Inode <replaceable>inode-number</replaceable> (whose <replaceable>type</replaceable> is directory or file) was not connected to a directory
entry when the file system was traversed. The owner <replaceable>UID</replaceable>,
mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>,
and modification time <replaceable>modification-time</replaceable> of inode <replaceable>inode-number</replaceable> are displayed. When <command>fsck</command> is
preening, the file is cleared if either its size or its link count is zero;
otherwise, it is reconnected.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate inode <replaceable>inode-number</replaceable> by
zeroing its contents, type <command>y</command> at the <literal>CLEAR</literal> prompt.
To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>ZERO LENGTH DIRECTORY I=<replaceable>inode-number</replaceable> OWNER=<replaceable>UID</replaceable> MODE=<replaceable>file-mode</replaceable> 
SIZE=<replaceable>file-size</replaceable> MTIME=<replaceable>modification-time</replaceable>(CLEAR)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A directory entry <replaceable>filename</replaceable> has
a size <replaceable>file-size</replaceable> that is zero. The owner <replaceable>UID</replaceable>, mode <replaceable>file-mode</replaceable>, size <replaceable>file-size</replaceable>, modification time <replaceable>modification-time</replaceable>,
and directory name <replaceable>filename</replaceable> are displayed.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To deallocate the directory inode <replaceable>inode-number</replaceable> by
zeroing out its contents, type <command>y</command>. To ignore the error condition,
type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="gbrhu"><title>Phase 5: Check Cylinder Groups Messages</title><para>This section contains phase 5 <command>fsck</command> messages in the current
Solaris release.</para><itemizedlist><para>This phase checks the free-fragment and used-inode maps. It reports
error conditions resulting from:</para><listitem><para>Allocated inodes missing from used-inode maps</para>
</listitem><listitem><para>Free fragments missing from free-fragment maps</para>
</listitem><listitem><para>Free inodes in the used-inode maps</para>
</listitem><listitem><para>Incorrect total free-fragment count</para>
</listitem><listitem><para>Incorrect total used inode count</para>
</listitem>
</itemizedlist><para>These messages (in alphabetical order) might occur in phase 5:</para><screen>FRAG BITMAP WRONG (CORRECTED)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A cylinder group fragment map is missing some free fragments.
During preening, <command>fsck</command> reconstructs the maps.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconstruct the free-fragment map, type <command>y</command> at
the <literal>SALVAGE</literal> prompt. To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>CG <replaceable>cg-number</replaceable>: BAD MAGIC NUMBER</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The magic number of cylinder group <replaceable>cg-number</replaceable> is
wrong. This error usually indicates that the cylinder group maps have been
destroyed. When running interactively, the cylinder group is marked as needing
reconstruction. <command>fsck</command> terminates if the file system is being
preened.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this occurs, contact your local service provider or another
qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>CORRECT GLOBAL SUMMARY (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The summary information is incorrect. When preening, <command>fsck</command> recomputes the summary information.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconstruct the summary information, type <command>y</command> at
the <literal>SALVAGE</literal> prompt. To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="tsfsck-13919"><title>Phase 5: Check
Cylinder Groups Messages</title><para>This sections contains phase 5 <command>fsck</command> messages in the
Solaris 10 initial 3/05
release.</para><itemizedlist><para>This phase checks the free-block and used-inode maps. It reports error
conditions resulting from:</para><listitem><para>Allocated inodes missing from used-inode maps</para>
</listitem><listitem><para>Free blocks missing from free-block maps</para>
</listitem><listitem><para>Free inodes in the used-inode maps</para>
</listitem><listitem><para>Incorrect total free-block count</para>
</listitem><listitem><para>Incorrect total used inode count</para>
</listitem>
</itemizedlist><para>These messages (in alphabetical order) might occur in phase 5:</para><screen>BLK(S) MISSING IN BIT MAPS (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>A cylinder group block map is missing some free blocks. During
preening, <command>fsck</command> reconstructs the maps.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconstruct the free-block map, type <command>y</command> at
the <literal>SALVAGE</literal> prompt. To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>CG <replaceable>character-for-command-option</replaceable>: BAD MAGIC NUMBER</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The magic number of cylinder group <replaceable>character-for-command-option</replaceable> is wrong. This error usually indicates that the cylinder group
maps have been destroyed. When running interactively, the cylinder group is
marked as needing reconstruction. <command>fsck</command> terminates if the
file system is being preened.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>If this occurs, contact your local service provider or another
qualified person.</para>
</listitem>
</varlistentry>
</variablelist><screen>FREE BLK COUNT(S) WRONG IN SUPERBLK (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The actual count of free blocks does not match the count of
free blocks in the superblock of the file system. If the <command>-o p</command> option
was specified, the free-block count in the superblock is fixed automatically.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconstruct the superblock free-block information, type <command>y</command> at the <literal>SALVAGE</literal> prompt. To ignore this error
condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist><screen>SUMMARY INFORMATION BAD (SALVAGE)</screen><variablelist termlength="wholeline"><varlistentry><term>Cause</term><listitem><para>The summary information is incorrect. When preening, <command>fsck</command> recomputes the summary information.</para>
</listitem>
</varlistentry><varlistentry><term>Action</term><listitem><para>To reconstruct the summary information, type <command>y</command> at
the <literal>SALVAGE</literal> prompt. To ignore this error condition, type <command>n</command>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2><sect2 id="gbrht"><title><command>fsck</command> Summary Messages</title><para>This section contains <command>fsck</command> summary messages in the current
Solaris release. If you are not running at least the ,
Solaris 10 6/06 release, these messages are displayed in the cleanup phase.
For more information, see <olink targetptr="tsfsck-27555" remap="internal">Cleanup Phase Messages</olink>.</para><para>Once a file system has been checked, a few summary messages are displayed.</para><screen><replaceable>number-of</replaceable> files, <replaceable>number-of-files</replaceable>
used, <replaceable>number-of-files</replaceable> free (<replaceable>number-of</replaceable> frags, <replaceable>number-of</replaceable> blocks, 
<replaceable>percent</replaceable> fragmentation)</screen><para>This message indicates that the file system checked contains <replaceable>number-of</replaceable> files using <replaceable>number-of</replaceable> fragment-sized
blocks, and that there are <replaceable>number-of</replaceable> fragment-sized
blocks free in the file system. The numbers in parentheses break the free
count down into <replaceable>number-of</replaceable> free fragments, <replaceable>number-of</replaceable> free full-sized blocks, and the <replaceable>percent</replaceable> fragmentation.</para><screen>***** FILE SYSTEM WAS MODIFIED *****</screen><para>This message indicates that the file system was modified by <command>fsck</command>.
There is no need to rerun <command>fsck</command> if you see this message.
This message is just informational about <command>fsck</command>'s corrective
actions.</para>
</sect2><sect2 id="tsfsck-27555"><title>Cleanup Phase
Messages</title><para>This section contains <command>fsck</command> cleanup phase messages
in the Solaris 10 release.
In this Solaris release, similar messages can be found in the <command>fsck</command> summary
phase. See <olink targetptr="gbrht" remap="internal">fsck Summary Messages</olink> for more
information.</para><para>Once a file system has been checked, a few cleanup functions are performed.
The cleanup phase displays the following status messages.</para><screen><replaceable>number-of</replaceable> files, <replaceable>number-of-files</replaceable>
used, <replaceable>number-of-files</replaceable> free (<replaceable>number-of</replaceable> frags, <replaceable>number-of</replaceable> blocks, 
<replaceable>percent</replaceable> fragmentation)</screen><para>This message indicates that the file system checked contains <replaceable>number-of</replaceable> files using <replaceable>number-of</replaceable> fragment-sized
blocks, and that there are <replaceable>number-of</replaceable> fragment-sized
blocks free in the file system. The numbers in parentheses break the free
count down into <replaceable>number-of</replaceable> free fragments, <replaceable>number-of</replaceable> free full-sized blocks, and the <replaceable>percent</replaceable> fragmentation.</para><screen>***** FILE SYSTEM WAS MODIFIED *****</screen><para>This message indicates that the file system was modified by <command>fsck</command>.
If this file system is mounted or is the current root (<filename>/</filename>)
file system, reboot. If the file system is mounted, you might need to unmount
it and run <command>fsck</command> again; otherwise, the work done by <command>fsck</command> might be undone by the in-core copies of tables.</para><screen><replaceable>filename</replaceable> FILE SYSTEM STATE SET TO OKAY</screen><para>This message indicates that file system <replaceable>filename</replaceable> was
marked as stable. Use the <command>fsck -m</command> command to determine
if the file system needs checking.</para><screen>filename FILE SYSTEM STATE NOT SET TO OKAY</screen><para>This message indicates that file system filename was not marked as stable.
Use the <command>fsck -m</command> command to determine if the file system
needs checking.</para>
</sect2>
</sect1>
</chapter>