xfs_repair
issues informative messages as it proceeds indicating
what it has found that is abnormal or any corrective action that
it has taken. Most of the messages are completely understandable
only to those who are knowledgeable about the structure of the
filesystem. Some of the more common messages are explained here.
Note that the language of the messages is slightly different if
xfs_repair
is run in no-modify mode because the program is not
changing anything on disk. No-modify mode indicates what it
would do to repair the filesystem if run without the no-modify
flag.
disconnected inode
ino, moving to lost+found
An inode numbered ino was not connected to the filesystem
directory tree and was reconnected to the lost+found
directory. The inode is assigned the name of its inode
number (ino). If a lost+found directory does not exist,
it is automatically created.
disconnected dir inode
ino, moving to lost+found
As above only the inode is a directory inode. If a
directory inode is attached to lost+found, all of its
children (if any) stay attached to the directory and
therefore get automatically reconnected when the directory
is reconnected.
imap claims in-use inode
ino is free, correcting imap
The inode allocation map thinks that inode ino is free
whereas examination of the inode indicates that the inode
may be in use (although it may be disconnected). The
program updates the inode allocation map.
imap claims free inode
ino is in use, correcting imap
The inode allocation map thinks that inode ino is in use
whereas examination of the inode indicates that the inode
is not in use and therefore is free. The program updates
the inode allocation map.
resetting inode
ino nlinks from
x to
y
The program detected a mismatch between the number of
valid directory entries referencing inode ino and the
number of references recorded in the inode and corrected
the the number in the inode.
fork-type fork in ino
ino claims used block
bno
Inode ino claims a block bno that is used (claimed) by
either another inode or the filesystem itself for metadata
storage. The fork-type is either data
or attr
indicating
whether the problem lies in the portion of the inode that
tracks regular data or the portion of the inode that
stores XFS attributes. If the inode is a real-time (rt)
inode, the message says so. Any inode that claims blocks
used by the filesystem is deleted. If two or more inodes
claim the same block, they are both deleted.
fork-type fork in ino
ino claims dup extent ...
Inode ino claims a block in an extent known to be claimed
more than once. The offset in the inode, start and length
of the extent is given. The message is slightly different
if the inode is a real-time (rt) inode and the extent is
therefore a real-time (rt) extent.
inode
ino - bad extent ...
An extent record in the blockmap of inode ino claims
blocks that are out of the legal range of the filesystem.
The message supplies the start, end, and file offset of
the extent. The message is slightly different if the
extent is a real-time (rt) extent.
bad
fork-type fork in inode
ino
There was something structurally wrong or inconsistent
with the data structures that map offsets to filesystem
blocks.
cleared inode
ino
There was something wrong with the inode that was
uncorrectable so the program freed the inode. This
usually happens because the inode claims blocks that are
used by something else or the inode itself is badly
corrupted. Typically, this message is preceded by one or
more messages indicating why the inode needed to be
cleared.
bad attribute fork in inode
ino, clearing attr fork
There was something wrong with the portion of the inode
that stores XFS attributes (the attribute fork) so the
program reset the attribute fork. As a result of this,
all attributes on that inode are lost.
correcting nextents for inode
ino, was
x - counted
y
The program found that the number of extents used to store
the data in the inode is wrong and corrected the number.
The message refers to nextents if the count is wrong on
the number of extents used to store attribute information.
entry
name in dir
dir_ino not consistent with .. value (
xxxx) in
dir ino
ino, junking entry
name in directory inode
dir_ino
The entry name in directory inode dir_ino references a
directory inode ino. However, the .. entry in directory
ino does not point back to directory dir_ino, so the
program deletes the entry name in directory inode dir_ino.
If the directory inode ino winds up becoming a
disconnected inode as a result of this, it is moved to
lost+found later.
entry
name in dir
dir_ino references already connected dir ino
ino, junking entry
name in directory inode
dir_ino
The entry name in directory inode dir_ino points to a
directory inode ino that is known to be a child of another
directory. Therefore, the entry is invalid and is
deleted. This message refers to an entry in a small
directory. If this were a large directory, the last
phrase would read "will clear entry".
entry references free inode
ino in directory
dir_ino, will clear
entry
An entry in directory inode dir_ino references an inode
ino that is known to be free. The entry is therefore
invalid and is deleted. This message refers to a large
directory. If the directory were small, the message would
read "junking entry ...".