Normally, the fsck command is run non-interactively to preen 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 fsck command fixes the inconsistencies it expects from such an abrupt halt. For more serious conditions, the command reports the error and terminates.
When you run the fsck 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 fsck command with the
y
or
n
options, your response is predefined as yes or no to the default
response suggested by the fsck command for each error condition.
Some corrective actions will result in some loss of data. The amount and severity of data loss might be determined from the fsck diagnostic output.
The fsck command is a multipass file system check program. Each pass invokes a different phase of the fsck command with different sets of messages. After initialization, the fsck 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.
The phases (passes) performed by the UFS version of the fsck command are:
Initialization
Phase 1 – Check Blocks and Sizes
Phase 2a – Check Duplicated Names
Phase 2b – Check Pathnames
Phase 3 – Check Connectivity
Phase 3b – Verify Shadows/ACLs
Phase 4 – Check Reference Counts
Phase 5 – Check Cylinder Groups
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.
Messages that might appear in more than one phase are described in General fsck Error Messages. Otherwise, messages are organized alphabetically by the phases in which they occur.
The following table lists many of the abbreviations included in the fsck error messages.
Table 28.1. Error Message Abbreviations
Abbreviation |
Meaning |
---|---|
|
Block number |
|
Duplicate block number |
|
Directory name |
|
Cylinder group |
|
Time file was last modified |
|
Unreferenced |
Many of the messages also include variable fields, such as inode numbers,
which are represented in this book by an italicized term, such as inode-number
. For example, this screen message:
INCORRECT BLOCK COUNT I=2529
is shown as follows:
INCORRECT BLOCK COUNT I=inode-number
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 n(o). If you cannot determine what caused the problem, contact your local service provider or another qualified person.
CANNOT SEEK: BLK disk-block-number
(CONTINUE)
Solaris 10:
CANNOT SEEK: BLK block-number
(CONTINUE)
A request to move to the specified block number, disk-block-number
, in the file system failed. This message indicates a serious
problem, probably a hardware failure.
Solaris 10: A request to move to the specified block
number, block-number
, in the file system failed.
This message indicates a serious problem, probably a hardware failure.
If you want to continue the file system check, fsck 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, fsck will terminate with a fatal I/O error message.
If the disk is experiencing hardware problems, the problem will persist. Run fsck again to recheck the file system.
If the recheck fails, contact your local service provider or another qualified person.
CANNOT READ: DISK BLOCK disk-block-number
: I/O ERROR
CONTINUE?
Solaris 10:
CANNOT READ: DISK BLOCK block-number
: I/O ERROR
CONTINUE?
A request to read the specified block number, disk-block-number
, in the file system failed. The message indicates a serious
problem, probably a hardware failure.
Solaris 10: A request to read a specified block number, block-number
, in the file system failed. The message indicates
a serious problem, probably a hardware failure.
If you want to continue the file system check, fsck 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, fsck will terminate with a fatal I/O error message. If fsck tries to write back one of the blocks on which the read failed, it will display the following message:
WRITING ZERO'ED BLOCK
sector-numbers
TO DISK
If the disk is experiencing hardware problems, the problem will persist. Run fsck again to recheck the file system. If the recheck fails, contact your local service provider or another qualified person.
CANNOT WRITE: BLK disk-block-number
(CONTINUE)
Solaris 10:
CANNOT WRITE: BLK block-number
(CONTINUE)
A request to write the specified block number, disk-block-number
, in the file system failed.
If you continue the file system check, fsck 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, fsck will terminate with a fatal I/O error message.
Solaris 10: A request to write a specified block
number, block-number
, in the file system failed.
If you continue the file system check, fsck 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, fsck will terminate with a fatal I/O error message.
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 fsck 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.
In the initialization phase, command-line syntax is checked. Before the file system check can be performed, fsck sets up tables and opens files.
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 fsck when it is preening the file system.
Can't roll the log for device-name
.
DISCARDING THE LOG MAY DISCARD PENDING TRANSACTIONS.
DISCARD THE LOG AND CONTINUE?
fsck was unable to flush the transaction log of a logging UFS file system prior to checking the file system for errors.
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, fsck runs the same checks it always runs and asks the following question in phase 5:
FREE BLK COUNT(S) WRONG IN SUPERBLK (SALVAGE)
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.
Answering no preserves the log and exits, but the file system isn't mountable.
bad inode number inode-number
to ginode
An internal error occurred because of a nonexistent inode inode-number
. fsck exits.
Contact your local service provider or another qualified person.
cannot allocsize-of-block map
bytes for blockmap cannot allocsize-of-free map
bytes for freemap cannot allocsize-of-state map
bytes for statemap cannot allocsize-of-lncntp
bytes for lncntp
Request for memory for its internal tables failed. fsck 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.
Killing other processes might solve the problem. If not, contact your local service provider or another qualified person.
Can't open checklist file: filename
The file system checklist file filename
(usually /etc/vfstab
) cannot be opened for reading. fsck terminates.
Check if the file exists and if its access modes permit read access.
Can't open filename
fsck cannot open file system filename
. When running interactively, fsck ignores
this file system and continues checking the next file system given.
Check to see if read and write access to the raw device file for the file system is permitted.
Can't stat root
fsck request for statistics about the root directory failed. fsck terminates.
This message indicates a serious system failure. Contact your local service provider or another qualified person.
Can't statfilename
Can't make sense out of namefilename
fsck request for statistics about the file
system filename
failed. When running interactively, fsck ignores this file system and continues checking the next file
system given.
Check if the file system exists and check its access modes.
filename
: (NO WRITE)
Either the -n option was specified or fsck could not open the file system filename
for
writing. When fsck is running in no-write mode, all diagnostic
messages are displayed, but fsck does not attempt to fix
anything.
If -n was not specified, check the type of the file specified. It might be the name of a regular file.
IMPOSSIBLE MINFREE=percent
IN SUPERBLOCK (SET TO DEFAULT)
The superblock minimum space percentage is greater than 99 percent or less than 0 percent.
To set the minfree
parameter to the default
10 percent, type y at the default prompt. To ignore the
error condition, type n at the default prompt.
filename
: BAD SUPER BLOCK:message
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)
The superblock has been corrupted.
One of the following messages might be displayed:
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
Try to rerun fsck with an alternative superblock. Specifying block 32 is a good first choice. You can locate an alternative copy of the superblock by running the newfs -N command on the slice. Be sure to specify the -N option; otherwise, newfs overwrites the existing file system.
UNDEFINED OPTIMIZATION IN SUPERBLOCK (SET TO DEFAULT)
The superblock optimization parameter is neither OPT_TIME
nor OPT_SPACE
.
To minimize the time to perform operations on the file system,
type y at the SET TO DEFAULT
prompt.
To ignore this error condition, type n.
This phase checks the inode list. It reports error conditions encountered while:
Checking inode types
Setting up the zero-link-count table
Examining inode block numbers for bad or duplicate blocks
Checking inode size
Checking inode format
All errors in this phase except INCORRECT BLOCK COUNT
, PARTIALLY TRUNCATED INODE
, PARTIALLY ALLOCATED INODE
,
and UNKNOWN FILE TYPE
terminate fsck when
it is preening a file system.
These messages (in alphabetical order) might occur in phase 1:
block-number
BAD I=inode-number
Inode inode-number
contains a block
number block-number
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 EXCESSIVE BAD BLKS
error message in phase 1 if inode inode-number
has too many block numbers outside the file system
range. This error condition generates the BAD/DUP
error
message in phases 2 and 4.
N/A
BAD MODE: MAKE IT A FILE?
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 fsck -y has been run.
Type y to reinitialize the inode to a reasonable value.
BAD STATE state-number
TO BLKERR
An internal error has scrambled the fsck state
map so that it shows the impossible value state-number
. fsck exits immediately.
Contact your local service provider or another qualified person.
fragment-number
DUP I=inode-number
Solaris 10:
block-number
DUP I=inode-number
Inode inode-number
contains a block
number fragment-number
, which is already claimed
by the same or another inode. This error condition might generate the EXCESSIVE
DUP BLKS
error message in phase 1 if inode inode-number
has
too many block numbers claimed by the same or another inode. This error condition
invokes phase 1B and generates the BAD/DUP
error messages
in phases 2 and 4.
Solaris
10: Inode inode-number
contains a block
number block-number
, which is already claimed by
the same or another inode. This error condition might generate the EXCESSIVE
DUP BLKS
error message in phase 1 if inode inode-number
has
too many block numbers claimed by the same or another inode. This error condition
invokes phase 1B and generates the BAD/DUP
error messages
in phases 2 and 4.
N/A
DUP TABLE OVERFLOW (CONTINUE)
fsck could not allocate memory to track duplicate fragments. If the -o p option is specified, the program terminates.
Solaris 10: There is no more room in an internal table in fsck containing duplicate block numbers. If the -o p option is specified, the program terminates.
To continue the program, type y at the CONTINUE
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 fsck again
to recheck the file system. To terminate the program, type n.
Solaris 10: To continue the program, type y at
the CONTINUE
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 fsck again
to recheck the file system. To terminate the program, type n.
EXCESSIVE BAD FRAGMENTS I=inode-number (CONTINUE)
Solaris 10:
EXCESSIVE BAD BLOCKS I=inode-number (CONTINUE)
Too many (usually more than 10) fragments indicate an invalid disk address. If the -o p (preen) option is specified, the program terminates.
Solaris 10: 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 inode-number
. If the -o p (preen)
option is specified, the program terminates.
To continue the program, type y at the CONTINUE
prompt. When this error occurs, a complete check of the
file system is not possible. You should run fsck again
to recheck the file system. To terminate the program, type n.
EXCESSIVE DUP BLKSDUPLICATE FRAGMENTS I=inode-number (CONTINUE)
Solaris 10:
EXCESSIVE DUP BLKS I=inode-number (CONTINUE)
Too many (usually more than 10) fragments are claimed by the same or another inode or by a free-list. If the -o p option is specified, the program terminates.
Solaris 10: Too many (usually more than 10) blocks are claimed by the same or another inode or by a free-list. If the -o p option is specified, the program terminates.
To continue the program, type y at the CONTINUE
prompt. When this error occurs, a complete check of the
file system is not possible. You should run fsck again
to recheck the file system. To terminate the program, type n.
INCORRECT DISK BLOCK COUNT I=inode-number (number
-of-
BAD-
DUP
-or-
missing
-blocks
should benumber
-of-
blocks
-in-
filesystem
) (CORRECT)
Solaris 10:
INCORRECT BLOCK COUNT I=inode-number (number
-of-
BAD-
DUP
-or-
missing
-blocks
should benumber
-of-
blocks
-in-
filesystem
) (CORRECT)
The disk block count for inode inode-number
is
incorrect.. When preening, fsck corrects the count.
Solaris 10: The block count for inode inode-number
is number-of-BAD-DUP-or-missing-blocks
,
but should be number-of-blocks-in-filesystem
. When
preening, fsck corrects the count.
To correct the disk block count of inode inode-number
by number-of-blocks-in-file
, type y at the CORRECT
prompt. .
Solaris 10: To replace the block count of inode inode-number
by number-of-blocks-in-filesystem
,
type y at the CORRECT
prompt. To terminate
the program, type n.
LINK COUNT TABLE OVERFLOW (CONTINUE)
There is no more room in an internal table for fsck containing allocated inodes with a link count of zero. If the -o p (preen) option is specified, the program exits and fsck has to be completed manually.
To continue the program, type y at the CONTINUE
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 fsck again
to recheck the file system. Increase the virtual memory available by killing
some processes or increasing swap space, then run fsck again.
To terminate the program, type n.
PARTIALLY ALLOCATED INODE I=inode-number
(CLEAR)
Inode inode-number
is neither allocated
nor unallocated. If the -o p (preen) option is specified,
the inode is cleared.
To deallocate the inode inode-number
by
zeroing out its contents, type y. This might generate the UNALLOCATED
error condition in phase 2 for each directory entry
pointing to this inode. To ignore the error condition, type n.
A no response is appropriate only if you intend to take other measures to
fix the problem.
PARTIALLY TRUNCATED INODE I=inode-number
(SALVAGE)
fsck has found inode inode-number
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, fsck completes the
truncation to the specified size.
Solaris 10: fsck has found inode inode-number
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, fsck completes the
truncation to the specified size.
To complete the truncation to the size specified in the inode,
type y at the SALVAGE
prompt. To ignore
this error condition, type n.
UNKNOWN FILE TYPE I=inode-number
(CLEAR)
The mode word of the inode inode-number
shows
that the inode is not a pipe, character device, block device, regular file,
symbolic link, FIFO file, or directory inode. If the -o p option
is specified, the inode is cleared.
Solaris 10: The mode word of the inode inode-number
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 -o p option is specified, the inode is cleared.
To deallocate the inode inode-number
by
zeroing its contents, which results in the UNALLOCATED
error
condition in phase 2 for each directory entry pointing to this inode, type y at the CLEAR
prompt. To ignore this error condition,
type n.
This sections contains phase 1B fsck messages in the current Solaris release.
When a duplicate fragment is found in the file system, this message is displayed:
fragment DUP I=inode-number
Inode inode-number
contains a fragment
number fragment-number
that is already claimed
by the same or another inode. This error condition generates the BAD/DUP
error message in phase 2. Inodes that have overlapping fragments
might be determined by examining this error condition and the DUP
error
condition in phase 1. This is simplified by the duplicate fragment report
produced at the fsck run.
When a duplicate block is found, the file system is rescanned to find the inode that previously claimed that block.
This sections contains fsck messages if you are not running at least the Solaris Express 1/06 release and in the Solaris 10 release.
When a duplicate block is found in the file system, this message is displayed:
block-number DUP I=inode-number
Inode inode-number
contains a block
number block-number
that is already claimed by
the same or another inode. This error condition generates the BAD/DUP
error
message in phase 2. Inodes that have overlapping blocks might be determined
by examining this error condition and the DUP
error condition
in phase 1.
When a duplicate block is found, the file system is rescanned to find the inode that previously claimed that block.
This phase removes directory entries pointing to bad inodes found in phases 1 and 1B. It reports error conditions resulting from:
Incorrect root inode mode and status
Directory inode pointers out of range
Directory entries pointing to bad inodes
Directory integrity checks
When the file system is being preened (
o p
option),
all errors in this phase terminate fsck, 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.
These messages (in alphabetical order) might occur in phase 2:
BAD INODE state-number
TO DESCEND
An fsck internal error has passed an invalid
state state-number
to the routine that descends
the file system directory structure. fsck exits.
If this error message is displayed, contact your local service provider or another qualified person.
BAD INODE NUMBER FOR '.' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found whose inode number for “.
” does not
equal inode-number
.
To change the inode number for “.
”
to be equal to inode-number
, type y at
the FIX
prompt To leave the inode numbers for “.
” unchanged, type n.
BAD INODE NUMBER FOR '..' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found whose inode number for “..
” does not
equal the parent of inode-number
.
To change the inode number for “..
”
to be equal to the parent of inode-number
, type y at the FIX
prompt. (Note that “..
''
in the root inode points to itself.) To leave the inode number for “..
” unchanged, type n.
BAD RETURN STATE state-number
FROM DESCEND
An fsck internal error has returned an
impossible state state-number
from the routine
that descends the file system directory structure. fsck exits.
If this message is displayed, contact your local service provider or another qualified person.
BAD STATE state-number
FOR ROOT INODE
An internal error has assigned an impossible state state-number
to the root inode. fsck exits.
If this error message is displayed, contact your local service provider or another qualified person.
BAD STATEstate-number
FOR INODE=inode-number
An internal error has assigned an impossible state state-number
to inode inode-number
. fsck exits.
If this error message is displayed, contact your local service provider or another qualified person.
DIRECTORY TOO SHORT I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory filename
has been found
whose size file-size
is less than the minimum directory
size. The owner UID
, mode file-mode
,
size file-size
, modify time modification-time
, and directory name filename
are
displayed.
To increase the size of the directory to the minimum directory
size, type y at the FIX
prompt. To ignore
this directory, type n.
DIRECTORYfilename
: LENGTHfile-size
NOT MULTIPLE OFdisk-block-size
(ADJUST)
Solaris 10:
DIRECTORYfilename
: LENGTHfile-size
NOT MULTIPLE OFblock-number
(ADJUST)
A directory filename
has been found
with size file-size
that is not a multiple of the
directory block size disk-block-size
.
Solaris 10:
A directory filename
has been found with size file-size
that
is not a multiple of the directory block size block-number
.
To round up the length to the appropriate disk block size, type y. When preening the file system (-o p option), fsck only displays a warning and adjusts the directory. To ignore this condition, type n.
Solaris 10:
To round up the length to the appropriate block size, type y. When preening the file system (-o p option), fsck only displays a warning and adjusts the directory. To ignore this condition, type n.
DIRECTORY CORRUPTED I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(SALVAGE)
A directory with an inconsistent internal state has been found.
To throw away all entries up to the next directory boundary
(usually a 512-byte boundary), type y at the SALVAGE
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 n.
DUP/BAD I=inode-number
OWNER=O MODE=M SIZE=file-size
MTIME=modification-time
TYPE=filename
(REMOVE)
Phase 1 or phase 1B found duplicate fragments or bad fragments
associated with directory or file entry filename
,
inode inode-number
. The owner UID
,
mode file-mode
, size file-size
,
modification time modification-time
, and directory
or file name filename
are displayed. If the -op (preen) option is specified, the duplicate/bad fragments are removed.
Solaris 10:
Phase
1 or phase 1B found duplicate blocks or bad blocks associated with directory
or file entry filename
, inode inode-number
. The owner UID
, mode file-mode
, size file-size
, modification time modification-time
, and directory or file name filename
are displayed. If the -op (preen) option
is specified, the duplicate/bad blocks are removed.
To remove the directory or file entry filename
,
type y at the REMOVE
prompt. To ignore
this error condition, type n.
DUPS/BAD IN ROOT INODE (REALLOCATE)
Phase 1 or phase 1B has found duplicate fragments or bad fragments in the root inode, ( inode number 20, of the file system.
Solaris 10:
Phase 1 or phase 1B has found duplicate blocks or bad blocks in the root inode (usually inode number 2 of the file system.
To clear the existing contents of the root inode and reallocate
it, type y at the REALLOCATE
prompt.
The files and directories usually found in the root inode will be recovered
in phase 3 and put into the lost+found
directory. If
the attempt to allocate the root fails, fsck will exit
with: CANNOT ALLOCATE ROOT INODE
. Type n to
get the CONTINUE
prompt. Type: y to
respond to the CONTINUE
prompt, and ignore the DUPS/BAD
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 n to terminate the program.
EXTRA '.' ENTRY I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found that has more than one entry for “.
”.
To remove the extra entry for “.
”
type y at the FIX
prompt. To leave the
directory unchanged, type n.
EXTRA '..' ENTRY I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found that has more than one entry for “..
”
(the parent directory).
To remove the extra entry for `..
' (the
parent directory), type y at the FIX
prompt.
To leave the directory unchanged, type n.
hard-link-number
IS AN EXTRANEOUS HARD LINK TO A DIRECTORYfilename
(REMOVE)
fsck has found an extraneous hard link hard-link-number
to a directory filename
.
When preening (-o p option), fsck ignores
the extraneous hard links.
To delete the extraneous entry hard-link-number
type y at the REMOVE
prompt. To ignore the error condition,
type n.
inode-number
OUT OF RANGE I=inode-number
NAME=filename
(REMOVE)
A directory entry filename
has
an inode number inode-number
that is greater than
the end of the inode list. If the -p (preen) option is
specified, the inode will be removed automatically.
To delete the directory entry filename
type y at the REMOVE
prompt. To ignore the error condition,
type n.
MISSING '.' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found whose first entry (the entry for “.
”)
is unallocated.
To build an entry for “.
”
with inode number equal to inode-number
, type y at the FIX
prompt. To leave the directory unchanged,
type n.
MISSING '.' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
CANNOT FIX, FIRST ENTRY IN DIRECTORY CONTAINSfilename
A directory inode-number
has been
found whose first entry is filename
. fsck cannot
resolve this problem.
If this error message is displayed, contact your local service provider or another qualified person.
MISSING '.' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
CANNOT FIX, INSUFFICIENT SPACE TO ADD '.'
A directory inode-number
has been
found whose first entry is not “.
”. fsck cannot resolve the problem.
If this error message is displayed, contact your local service provider or another qualified person.
MISSING '..' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(FIX)
A directory inode-number
has been
found whose second entry is unallocated.
To build an entry for “..
”
with inode number equal to the parent of inode-number
,
type y at the FIX
prompt. (Note that “..
'' in the root inode points to itself.) To leave the directory
unchanged, type n.
MISSING '..' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
CANNOT FIX, SECOND ENTRY IN DIRECTORY CONTAINSfilename
A directory inode-number
has been
found whose second entry is filename
. fsck cannot
resolve this problem.
If this error message is displayed, contact your local service provider or another qualified person.
MISSING '..' I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
CANNOT FIX, INSUFFICIENT SPACE TO ADD '..'
A directory inode-number
has been
found whose second entry is not “..
” (the
parent directory). fsck cannot resolve this problem.
If this error message is displayed, contact your local service provider or another qualified person.
NAME TOO LONG filename
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.
Remove the circular links.
ROOT INODE UNALLOCATED (ALLOCATE)
The root inode (usually inode number 2) has no allocate-mode bits.
To allocate inode 2 as the root inode, type y at
the ALLOCATE
prompt. The files and directories usually
found in the root inode will be recovered in phase 3 and put into the lost+found
directory. If the attempt to allocate the root inode fails, fsck displays this message and exits: CANNOT ALLOCATE ROOT
INODE
. To terminate the program, type n.
ROOT INODE NOT DIRECTORY (REALLOCATE)
The root inode (usually inode number 2) of the file system is not a directory inode.
To clear the existing contents of the root inode and reallocate
it, type y at the REALLOCATE
prompt.
The files and directories usually found in the root inode will be recovered
in phase 3 and put into the lost+found
directory. If
the attempt to allocate the root inode fails, fsck displays
this message and exits: CANNOT ALLOCATE ROOT INODE
. To
have fsck prompt with FIX
, type n.
UNALLOCATED I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
type=filename
(REMOVE)
A directory or file entry filename
points
to an unallocated inode inode-number
. The owner UID
, mode file-mode
, size file-size
, modify time modification-time
,
and file name filename
are displayed.
To delete the directory entry filename
,
type y at the REMOVE
prompt. To ignore
the error condition, type n.
ZERO LENGTH DIRECTORY I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
DIR=filename
(REMOVE)
A directory entry filename
has
a size file-size
that is zero. The owner UID, mode file-mode
, size file-size
, modify
time modification-time
, and directory name filename
are displayed.
To remove the directory entry filename
,
type y at the REMOVE
prompt. This results
in the BAD/DUP
error message in phase 4. To ignore the
error condition, type n.
This phase checks the directories examined in phase 2 and reports error conditions resulting from:
Unreferenced directories
Missing or full lost+found
directories
These messages (in alphabetical order) might occur in phase 3:
BAD INODE state-number
TO DESCEND
An internal error has caused an impossible state state-number
to be passed to the routine that descends the file system directory
structure. fsck exits.
If this occurs, contact your local service provider or another qualified person.
DIR I=inode-number1
CONNECTED. PARENT WAS I=inode-number2
This is an advisory message indicating a directory inode inode-number1
was successfully connected to the lost+found
directory. The parent inode inode-number2
of
the directory inode inode-number1
is replaced by
the inode number of the lost+found
directory.
N/A
DIRECTORYfilename
LENGTHfile-size
NOT MULTIPLE OFdisk-block-size
(ADJUST)
Solaris 10:
DIRECTORYfilename
LENGTHfile-size
NOT MULTIPLE OFblock-number
(ADJUST)
A directory filename
has been found
with size file-size
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.)
To round up the length to the appropriate disk block size,
type y at the ADJUST
prompt. When preening, fsck displays a warning and adjusts the directory. To ignore this
error condition, type n.
Solaris 10:
To
round up the length to the appropriate block size, type y at
the ADJUST
prompt. When preening, fsck displays
a warning and adjusts the directory. To ignore this error condition, type n.
lost+found IS NOT A DIRECTORY (REALLOCATE)
The entry for lost+found
is not a directory.
To allocate a directory inode and change the lost+found
directory to reference it, type y at the REALLOCATE
prompt. The previous inode reference by the lost+found
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 lost+found
directory displays the message: SORRY. CANNOT CREATE lost+found DIRECTORY
and aborts the attempt
to link up the lost inode, which generates the UNREF
error
message in phase 4. To abort the attempt to link up the lost inode, which
generates the UNREF
error message in phase 4, type n.
NO lost+found DIRECTORY (CREATE)
There is no lost+found
directory in the
root directory of the file system. When preening, fsck tries
to create a lost+found
directory.
To create a lost+found
directory in the
root of the file system, type y at the CREATE
prompt.
This might lead to the message NO SPACE LEFT IN / (EXPAND).
If the lost+found
directory cannot be created, fsck displays the message: SORRY. CANNOT CREATE lost+found
DIRECTORY
and aborts the attempt to link up the lost inode. This
in turn generates the UNREF
error message later in phase
4. To abort the attempt to link up the lost inode, type n.
NO SPACE LEFT IN /lost+found (EXPAND)
Another entry cannot be added to the lost+found
directory
in the root directory of the file system because no space is available. When
preening, fsck expands the lost+found
directory.
To expand the lost+found
directory to
make room for the new entry, type y at the EXPAND
prompt.
If the attempted expansion fails, fsck displays: SORRY.
NO SPACE IN lost+found DIRECTORY
and aborts the request to link
a file to the lost+found
directory. This error generates
the UNREF
error message later in phase 4. Delete any unnecessary
entries in the lost+found
directory. This error terminates fsck when preening is in effect. To abort the attempt to link up
the lost inode, type n.
UNREF DIR I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
(RECONNECT)
The directory inode inode-number
was
not connected to a directory entry when the file system was traversed. The
owner UID
, mode file-mode
,
size file-size
, and modification time modification-time
of directory inode inode-number
are
displayed. When preening, fsck reconnects the non-empty
directory inode if the directory size is non-zero. Otherwise, fsck clears
the directory inode.
To reconnect the directory inode inode-number
into
the lost+found
directory, type y at
the RECONNECT
prompt. If the directory is successfully
reconnected, a CONNECTED
message is displayed. Otherwise,
one of the lost+found
error messages is displayed. To
ignore this error condition, type n. This error causes
the UNREF
error condition in phase 4.
This phase checks the link count information obtained in phases 2 and 3. It reports error conditions resulting from:
Unreferenced files
A missing or full lost+found
directory
Incorrect link counts for files, directories, symbolic links, or special files
Unreferenced files, symbolic links, and directories
Bad or duplicate fragments in files and directories
Solaris 10:
Bad or duplicate blocks in files and directories
Incorrect total free-inode counts
All errors in this phase (except running out of space in the lost+found
directory) are correctable when the file system is being preened.
These messages (in alphabetical order) might occur in phase 4:
BAD/DUPtype
I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
(CLEAR)
Phase 1 or phase 1B found duplicate fragments or bad fragments
associated with file or directory inode inode-number
.
The owner UID
, mode file-mode
,
size file-size
, and modification time modification-time
of inode inode-number
are displayed.
Solaris 10:
Phase
1 or phase 1B found duplicate blocks or bad blocks associated with file or
directory inode inode-number
. The owner UID
, mode file-mode
, size file-size
, and modification time modification-time
of
inode inode-number
are displayed.
To deallocate inode inode-number
by
zeroing its contents, type y at the CLEAR
prompt.
To ignore this error condition, type n.
(CLEAR)
The inode mentioned in the UNREF
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 fsck.
To deallocate the inode by zeroing out its contents, type y at the CLEAR
prompt. To ignore the preceding
error condition, type n.
LINK COUNTtype
I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
COUNTlink-count
SHOULD BEcorrected-link-count (ADJUST)
The link count for directory or file inode inode-number
is link-count
but should be corrected-link-count
. The owner UID
,
mode file-mode
, size file-size
,
and modification time modification-time
of inode inode-number
are displayed. If the -o p 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, fsck displays
this message and exits: LINK COUNT INCREASING
To replace the link count of directory or file inode inode-number
with corrected-link-count
,
type y at the ADJUST
prompt. To ignore
this error condition, type n.
lost+found IS NOT A DIRECTORY (REALLOCATE)
The entry for lost+found
is not a directory.
To allocate a directory inode and change the lost+found
directory to reference it, type y at the REALLOCATE
prompt. The previous inode reference by the lost+found
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 lost+found
directory displays this message: SORRY.
CANNOT CREATE lost+found DIRECTORY
and aborts the attempt to link
up the lost inode. This error generates the UNREF
error
message later in phase 4. To abort the attempt to link up the lost inode,
type n.
NO lost+found DIRECTORY (CREATE)
There is no lost+found
directory in the
root directory of the file system. When preening, fsck tries
to create a lost+found
directory.
To create a lost+found
directory in the
root of the file system, type y at the CREATE
prompt.
If the lost+found
directory cannot be created, fsck displays the message: SORRY. CANNOT CREATE lost+found
DIRECTORY
and aborts the attempt to link up the lost inode. This
error in turn generates the UNREF
error message later in
phase 4. To abort the attempt to link up the lost inode, type n.
NO SPACE LEFT IN / lost+found (EXPAND)
There is no space to add another entry to the lost+found
directory in the root directory of the file system. When preening, fsck expands the lost+found
directory.
To expand the lost+found
directory to
make room for the new entry, type y at the EXPAND
prompt.
If the attempted expansion fails, fsck displays the message: SORRY. NO SPACE IN lost+found DIRECTORY
and aborts the request to
link a file to the lost+found
directory. This error generates
the UNREF
error message later in phase 4. Delete any unnecessary
entries in the lost+found
directory. This error terminates fsck when preening (-o p option) is in effect.
To abort the attempt to link up the lost inode, type n.
UNREF FILE I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
(RECONNECT)
File inode inode-number
was not
connected to a directory entry when the file system was traversed. The owner UID
, mode file-mode
, size file-size
, and modification time modification-time
of
inode inode-number
are displayed. When fsck is
preening, the file is cleared if either its size or its link count is zero;
otherwise, it is reconnected.
To reconnect inode inode-number
to
the file system in the lost+found
directory, type y. This error might generate the lost+found
error
message in phase 4 if there are problems connecting inode inode-number
to the lost+found
directory. To ignore
this error condition, type n. This error always invokes
the CLEAR
error condition in phase 4.
UNREFtype
I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
(CLEAR)
Inode inode-number
(whose type
is directory or file) was not connected to a directory
entry when the file system was traversed. The owner UID
,
mode file-mode
, size file-size
,
and modification time modification-time
of inode inode-number
are displayed. When fsck is
preening, the file is cleared if either its size or its link count is zero;
otherwise, it is reconnected.
To deallocate inode inode-number
by
zeroing its contents, type y at the CLEAR
prompt.
To ignore this error condition, type n.
ZERO LENGTH DIRECTORY I=inode-number
OWNER=UID
MODE=file-mode
SIZE=file-size
MTIME=modification-time
(CLEAR)
A directory entry filename
has
a size file-size
that is zero. The owner UID
, mode file-mode
, size file-size
, modification time modification-time
,
and directory name filename
are displayed.
To deallocate the directory inode inode-number
by
zeroing out its contents, type y. To ignore the error condition,
type n.
This section contains phase 5 fsck messages in the current Solaris release.
This phase checks the free-fragment and used-inode maps. It reports error conditions resulting from:
Allocated inodes missing from used-inode maps
Free fragments missing from free-fragment maps
Free inodes in the used-inode maps
Incorrect total free-fragment count
Incorrect total used inode count
These messages (in alphabetical order) might occur in phase 5:
FRAG BITMAP WRONG (CORRECTED)
A cylinder group fragment map is missing some free fragments. During preening, fsck reconstructs the maps.
To reconstruct the free-fragment map, type y at
the SALVAGE
prompt. To ignore this error condition, type n.
CG cg-number
: BAD MAGIC NUMBER
The magic number of cylinder group cg-number
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. fsck terminates if the file system is being
preened.
If this occurs, contact your local service provider or another qualified person.
CORRECT GLOBAL SUMMARY (SALVAGE)
The summary information is incorrect. When preening, fsck recomputes the summary information.
To reconstruct the summary information, type y at
the SALVAGE
prompt. To ignore this error condition, type n.
This sections contains phase 5 fsck messages in the Solaris 10 releaseand if you are not running at least the Solaris Express 1/06 release.
This phase checks the free-block and used-inode maps. It reports error conditions resulting from:
Allocated inodes missing from used-inode maps
Free blocks missing from free-block maps
Free inodes in the used-inode maps
Incorrect total free-block count
Incorrect total used inode count
These messages (in alphabetical order) might occur in phase 5:
BLK(S) MISSING IN BIT MAPS (SALVAGE)
A cylinder group block map is missing some free blocks. During preening, fsck reconstructs the maps.
To reconstruct the free-block map, type y at
the SALVAGE
prompt. To ignore this error condition, type n.
CG character-for-command-option
: BAD MAGIC NUMBER
The magic number of cylinder group character-for-command-option
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. fsck terminates if the
file system is being preened.
If this occurs, contact your local service provider or another qualified person.
FREE BLK COUNT(S) WRONG IN SUPERBLK (SALVAGE)
The actual count of free blocks does not match the count of free blocks in the superblock of the file system. If the -o p option was specified, the free-block count in the superblock is fixed automatically.
To reconstruct the superblock free-block information, type y at the SALVAGE
prompt. To ignore this error
condition, type n.
SUMMARY INFORMATION BAD (SALVAGE)
The summary information is incorrect. When preening, fsck recomputes the summary information.
To reconstruct the summary information, type y at
the SALVAGE
prompt. To ignore this error condition, type n.
This section contains fsck summary messages in the current Solaris release. If you are not running at least the Solaris Express 1/06 release, these messages are displayed in the cleanup phase. For more information, see Cleanup Phase Messages.
Once a file system has been checked, a few summary messages are displayed.
number-of
files,number-of-files
used,number-of-files
free (number-of
frags,number-of
blocks,percent
fragmentation)
This message indicates that the file system checked contains number-of
files using number-of
fragment-sized
blocks, and that there are number-of
fragment-sized
blocks free in the file system. The numbers in parentheses break the free
count down into number-of
free fragments, number-of
free full-sized blocks, and the percent
fragmentation.
***** FILE SYSTEM WAS MODIFIED *****
This message indicates that the file system was modified by fsck. There is no need to rerun fsck if you see this message. This message is just informational about fsck's corrective actions.
This section contains fsck cleanup phase messages in the Solaris 10 release, and if you are note running at least the Solaris Express 1/06 release. In this Solaris release, similar messages can be found in the fsck summary phase. See fsck Summary Messages for more information.
Once a file system has been checked, a few cleanup functions are performed. The cleanup phase displays the following status messages.
number-of
files,number-of-files
used,number-of-files
free (number-of
frags,number-of
blocks,percent
fragmentation)
This message indicates that the file system checked contains number-of
files using number-of
fragment-sized
blocks, and that there are number-of
fragment-sized
blocks free in the file system. The numbers in parentheses break the free
count down into number-of
free fragments, number-of
free full-sized blocks, and the percent
fragmentation.
***** FILE SYSTEM WAS MODIFIED *****
This message indicates that the file system was modified by fsck.
If this file system is mounted or is the current root (/
)
file system, reboot. If the file system is mounted, you might need to unmount
it and run fsck again; otherwise, the work done by fsck might be undone by the in-core copies of tables.
filename
FILE SYSTEM STATE SET TO OKAY
This message indicates that file system filename
was
marked as stable. Use the fsck -m command to determine
if the file system needs checking.
filename FILE SYSTEM STATE NOT SET TO OKAY
This message indicates that file system filename was not marked as stable. Use the fsck -m command to determine if the file system needs checking.