+++ /dev/null
-.TH xfs_check 8
-.SH NAME
-xfs_check \- check XFS filesystem consistency
-.SH SYNOPSIS
-.B xfs_check
-[
-.B \-i
-.I ino
-] ... [
-.B \-b
-.I bno
-] ... [
-.B \-f
-] [
-.B \-s
-] [
-.B \-v
-] [
-.B \-l
-.I logdev
-]
-.I device
-.br
-.B xfs_check \-V
-.SH DESCRIPTION
-.B 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
-.I device
-argument, which should be the disk or volume device for the filesystem.
-Filesystems stored in files can also be checked, using the
-.B \-f
-flag. The filesystem should normally be unmounted or read-only
-during the execution of
-.BR xfs_check .
-Otherwise, spurious problems are reported.
-.PP
-Note that
-.B xfs_check
-is deprecated and scheduled for removal in June 2014. Please use
-.BR xfs_repair " " \-n
-instead.
-.SH
-OPTIONS
-.TP
-.B \-f
-Specifies that the filesystem image to be processed is stored in a
-regular file at
-.I device
-(see the
-.BR mkfs.xfs "(8) " \-d
-.I file
-option). This might happen if an image copy
-of a filesystem has been made into an ordinary file.
-.TP
-.BI \-l " logdev"
-Specifies the device where the filesystem's external log resides.
-Only for those filesystems which use an external log. See the
-.BR mkfs.xfs "(8) " \-l
-option, and refer to
-.BR xfs (5)
-for a detailed description of the XFS log.
-.TP
-.B \-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.
-.TP
-.B \-v
-Specifies verbose output; it is impossibly long for a
-reasonably-sized filesystem.
-This option is intended for internal use only.
-.TP
-.BI \-i " ino"
-Specifies verbose behavior for the specified inode
-.IR ino .
-For instance, it can be used to locate all the blocks
-associated with a given inode.
-.TP
-.BI \-b " bno"
-Specifies verbose behavior for the specific filesystem block at
-.IR 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
-.BR xfs_bmap (8))
-and file system blocks may be accomplished using
-.BR xfs_db "(8)'s " convert
-command.
-.TP
-.B \-V
-Prints the version number and exits.
-.PP
-Any output that is produced when
-.B xfs_check
-is not run in verbose mode indicates that the filesystem has an
-inconsistency. The filesystem can be repaired using either
-.BR xfs_repair (8)
-to fix the filesystem in place, or by using
-.BR xfsdump (8)
-and
-.BR mkfs.xfs (8)
-to dump the filesystem, make a new filesystem, then use
-.BR 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.
-.SH DIAGNOSTICS
-If the filesystem is completely corrupt, a core dump might
-be produced instead of the message
-.RS
-.I device
-.B is not a valid filesystem
-.RE
-.PP
-If the filesystem is very large (has many files) then
-.B xfs_check
-might run out of memory. In this case the message
-.RS
-.B out of memory
-.RE
-is printed.
-.PP
-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.
-.TP
-.BI "agf_freeblks " n ", counted " m " in ag " a
-The freeblocks count in the allocation group header for allocation group
-.I a
-doesn't match the number of blocks counted free.
-.TP
-.BI "agf_longest " n ", counted " m " in ag " a
-The longest free extent in the allocation group header for allocation group
-.I a
-doesn't match the longest free extent found in the allocation group.
-.TP
-.BI "agi_count " n ", counted " m " in ag " a
-The allocated inode count in the allocation group header for allocation group
-.I a
-doesn't match the number of inodes counted in the allocation group.
-.TP
-.BI "agi_freecount " n ", counted " m " in ag " a
-The free inode count in the allocation group header for allocation group
-.I a
-doesn't match the number of inodes counted free in the allocation group.
-.TP
-.BI "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.
-.TP
-.BI "block " a/b " expected type unknown got " y
-The block is used multiple times (shared).
-.TP
-.BI "block " a/b " type unknown not expected
-The block is unaccounted for (not in the freelist and not in use).
-.TP
-.BI "link count mismatch for inode " nnn " (name " xxx "), nlink " m ", counted " n
-The inode has a bad link count (number of references in directories).
-.TP
-.BI "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.
-.TP
-.BI "rtblock " b " expected type unknown got " y
-The real-time block is used multiple times (shared).
-.TP
-.BI "rtblock " b " type unknown not expected
-The real-time block is unaccounted for (not in the freelist and not in use).
-.TP
-.BI "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.
-.TP
-.BI "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.
-.TP
-.BI "sb_icount " n ", counted " m
-The number of allocated inodes recorded
-in the superblock doesn't match the number allocated in the filesystem.
-.TP
-.BI "sb_ifree " n ", counted " m
-The number of free inodes recorded
-in the superblock doesn't match the number free in the filesystem.
-.SH SEE ALSO
-.BR mkfs.xfs (8),
-.BR xfsdump (8),
-.BR xfsrestore (8),
-.BR xfs_ncheck (8),
-.BR xfs_repair (8),
-.BR xfs (5).
on the command line. Multiple
.B \-c
arguments may be given. The commands are run in the sequence given,
-then the program exits. This is the mechanism used to implement
-.BR xfs_check (8).
+then the program exits.
.TP
.B \-f
Specifies that the filesystem image to be processed is stored in a
.B \-F
Specifies that we want to continue even if the superblock magic is not
correct. For use in
-.BR xfs_check
-and
.BR xfs_metadump .
.TP
.B \-i
Allows execution on a mounted filesystem, provided it is mounted read-only.
-Useful for shell scripts such as
-.BR xfs_check (8),
+Useful for shell scripts
which must only operate on filesystems in a guaranteed consistent state
(either unmounted or mounted read-only). These semantics are slightly
different to that of the
Get block usage and check filesystem consistency.
The information is saved for use by a subsequent
.BR blockuse ", " ncheck ", or " blocktrash
-command. See
-.BR xfs_check (8)
-for more information.
+command.
.RS 1.0i
.TP 0.4i
.B \-b
This command is available only in debugging versions of
.BR xfs_db .
It is useful for testing
-.BR xfs_repair "(8) and " xfs_check (8).
+.BR xfs_repair "(8).
.RS 1.0i
.TP 0.4i
.BR \-0 " | " -1 " | " -2 " | " -3
Many messages can come from the
.B check
.RB ( blockget )
-command; these are documented in
-.BR xfs_check (8).
+command.
+If the filesystem is completely corrupt, a core dump might
+be produced instead of the message
+.RS
+.I device
+.B is not a valid filesystem
+.RE
+.PP
+If the filesystem is very large (has many files) then
+.B check
+might run out of memory. In this case the message
+.RS
+.B out of memory
+.RE
+is printed.
+.PP
+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.
+.TP
+.BI "agf_freeblks " n ", counted " m " in ag " a
+The freeblocks count in the allocation group header for allocation group
+.I a
+doesn't match the number of blocks counted free.
+.TP
+.BI "agf_longest " n ", counted " m " in ag " a
+The longest free extent in the allocation group header for allocation group
+.I a
+doesn't match the longest free extent found in the allocation group.
+.TP
+.BI "agi_count " n ", counted " m " in ag " a
+The allocated inode count in the allocation group header for allocation group
+.I a
+doesn't match the number of inodes counted in the allocation group.
+.TP
+.BI "agi_freecount " n ", counted " m " in ag " a
+The free inode count in the allocation group header for allocation group
+.I a
+doesn't match the number of inodes counted free in the allocation group.
+.TP
+.BI "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.
+.TP
+.BI "block " a/b " expected type unknown got " y
+The block is used multiple times (shared).
+.TP
+.BI "block " a/b " type unknown not expected
.SH SEE ALSO
.BR mkfs.xfs (8),
.BR xfs_admin (8),
-.BR xfs_check (8),
.BR xfs_copy (8),
.BR xfs_logprint (8),
.BR xfs_metadump (8),