B.3. Manual Page of xfs_check

xfs_check(8)                                           xfs_check(8)

NAME
       xfs_check - check XFS filesystem consistency

SYNOPSIS
  xfs_check [ -i ino ] ... [ -b bno ] ... [ -s ] [ -v ] xfs_special

  xfs_check -f [ -i ino ] ... [ -b bno ] ... [ -s ] [ -v ] file


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 xfs_special  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.

       The options to xfs_check are:

       -f       Specifies  that  the  special  device is actually a
                file (see the mkfs.xfs -d file option).  This might
                happen  if  an  image copy of a filesystem has been
                made into an ordinary file.

       -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  prob-
                lem, 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  a  specific  inode.
                For  instance,  it  can  be  used to locate all the
                blocks associated with a given inode.

       -b bno   Specifies verbose behavior for a specific  filesys-
                tem  block.  For instance, it can be used to deter-
                mine 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)  and  file  system  blocks  may be accom-
                plished using xfs_db's convert command.

       Any  non-verbose  output  from  xfs_check  means  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  filesys-
       tem is mountable, xfsdump can be used to try and save impor-
       tant data before repairing the filesystem  with  xfs_repair.
       If the filesystem is not mountable though, xfs_repair is the
       only viable option.

DIAGNOSTICS
       Under one circumstance, xfs_check unfortunately  might  dump
       core  rather  than produce useful output.  If the filesystem
       is completely corrupt, a core dump might be produced instead
       of the message xxx 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  pro-
       duced  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 num-
              ber 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 multi-
              ple  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 mes-
              sage 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)
 

SUSE LINUX Administration Guide 9.3