Provided by: xfsprogs_3.1.9ubuntu2.1_amd64 bug

NAME

       xfs_check - check XFS filesystem consistency

SYNOPSIS

       xfs_check [ -i ino ] ... [ -b bno ] ... [ -f ] [ -s ] [ -v ] [ -l logdev ] device

DESCRIPTION

       xfs_check  checks  whether an XFS filesystem is consistent.  It is normally run only when there is reason
       to believe that the filesystem has a consistency problem.  The filesystem to be checked is  specified  by
       the device argument, which should be the disk or volume device for the filesystem.  Filesystems stored in
       files  can  also  be checked, using the -f flag. The filesystem should normally be unmounted or read-only
       during the execution of xfs_check.  Otherwise, spurious problems are reported.

       Note that using xfs_check is NOT recommended. Please use xfs_repair -n instead,  for  better  scalability
       and speed.

OPTIONS

       -f     Specifies that the filesystem image to be processed is stored in a regular file at device (see the
              mkfs.xfs(8) -d file option). This might happen if an image copy of a filesystem has been made into
              an ordinary file.

       -l logdev
              Specifies  the  device  where  the  filesystem's external log resides.  Only for those filesystems
              which use an external log. See the mkfs.xfs(8) -l option, and  refer  to  xfs(5)  for  a  detailed
              description of the XFS log.

       -s     Specifies  that  only  serious  errors  should be reported.  Serious errors are those that make it
              impossible to find major data structures in the filesystem. This option can be used  to  cut  down
              the  amount  of output when there is a serious problem, when the output might make it difficult to
              see what the real problem is.

       -v     Specifies verbose output; it is impossibly long for a reasonably-sized filesystem.  This option is
              intended for internal use only.

       -i ino Specifies verbose behavior for the specified inode ino.  For instance, it can be  used  to  locate
              all the blocks associated with a given inode.

       -b bno Specifies verbose behavior for the specific filesystem block at bno.  For instance, it can be used
              to  determine what a specific block is used for. The block number is a "file system block number".
              Conversion between disk addresses (i.e. addresses reported by xfs_bmap(8)) and file system  blocks
              may be accomplished using xfs_db(8)'s convert command.

       Any  output  that is produced when xfs_check is not run in verbose mode indicates that the filesystem has
       an inconsistency. The filesystem can be repaired using either xfs_repair(8)  to  fix  the  filesystem  in
       place,  or  by  using  xfsdump(8) and mkfs.xfs(8) to dump the filesystem, make a new filesystem, then use
       xfsrestore(8) to restore the data onto the new filesystem.  Note that  xfsdump  may  fail  on  a  corrupt
       filesystem.   However, if the filesystem is mountable, xfsdump can be used to try and save important data
       before repairing the filesystem with xfs_repair.  If the filesystem is not mountable  though,  xfs_repair
       is the only viable option.

DIAGNOSTICS

       If the filesystem is completely corrupt, a core dump might be produced instead of the message
              device is not a valid filesystem

       If the filesystem is very large (has many files) then xfs_check might run out of memory. In this case the
       message
              out of memory
       is printed.

       The  following  is  a  description  of the most likely problems and the associated messages.  Most of the
       diagnostics produced are only meaningful with an understanding of the structure of the filesystem.

       agf_freeblks n, counted m in ag a
              The freeblocks count in the allocation group header for  allocation  group  a  doesn't  match  the
              number of blocks counted free.

       agf_longest n, counted m in ag a
              The  longest  free  extent in the allocation group header for allocation group a doesn't match the
              longest free extent found in the allocation group.

       agi_count n, counted m in ag a
              The allocated inode count in the allocation group header for allocation group a doesn't match  the
              number of inodes counted in the allocation group.

       agi_freecount n, counted m in ag a
              The  free  inode  count  in  the  allocation group header for allocation group a doesn't match the
              number of inodes counted free in the allocation group.

       block a/b expected inum 0 got i
              The block number is specified as a pair (allocation group number, block in the allocation  group).
              The  block is used multiple times (shared), between multiple inodes.  This message usually follows
              a message of the next type.

       block a/b expected type unknown got y
              The block is used multiple times (shared).

       block a/b type unknown not expected
              The block is unaccounted for (not in the freelist and not in use).

       link count mismatch for inode nnn (name xxx), nlink m, counted n
              The inode has a bad link count (number of references in directories).

       rtblock b expected inum 0 got i
              The block is used multiple times (shared), between multiple inodes.  This message usually  follows
              a message of the next type.

       rtblock b expected type unknown got y
              The real-time block is used multiple times (shared).

       rtblock b type unknown not expected
              The real-time block is unaccounted for (not in the freelist and not in use).

       sb_fdblocks n, counted m
              The number of free data blocks recorded in the superblock doesn't match the number counted free in
              the filesystem.

       sb_frextents n, counted m
              The  number  of free real-time extents recorded in the superblock doesn't match the number counted
              free in the filesystem.

       sb_icount n, counted m
              The number of allocated inodes recorded in the superblock doesn't match the  number  allocated  in
              the filesystem.

       sb_ifree n, counted m
              The  number  of  free  inodes  recorded  in  the  superblock  doesn't match the number free in the
              filesystem.

SEE ALSO

       mkfs.xfs(8), xfsdump(8), xfsrestore(8), xfs_ncheck(8), xfs_repair(8), xfs(5).

                                                                                                    xfs_check(8)