[BACK]Return to xfs_check.html CVS log [TXT][DIR] Up to [Development] / xfs-website.orig / manpages

File: [Development] / xfs-website.orig / manpages / xfs_check.html (download) (as text)

Revision 1.1, Mon Apr 24 19:46:05 2000 UTC (17 years, 6 months ago) by cattelan
Branch: MAIN

Added man pages

<html>
<head>
<meta name="Content-Style" content="text/css">
</head>
<body>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#DIAGNOSTICS">DIAGNOSTICS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<!-- Creator     : groff version 1.15  -->
<!-- CreationDate: Mon Apr 24 10:40:30 2000
 -->
<!-- Total number of pages: 2 -->
<!-- Page: 1 -->
<!-- left  margin: 100 -->
<!-- right margin: 750 -->
<a name="NAME"></a><h2>NAME</h2><p><font size=3>xfs_check, xfs_check64 - check XFS filesystem consistency</p>
<a name="SYNOPSIS"></a><h2>SYNOPSIS</h2>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="54.0000%">
<p><font size=3><B>xfs_check</B> <font size=3>[ <font size=3><B>-i</B> <font size=3>ino ] ... [ <font size=3><B>-b</B> <font size=3>bno ] ... [ <font size=3><B>-s</B> <font size=3>] [ <font size=3><B>-v</B> <font size=3>] xfs_special</p>
<p><font size=3><B>xfs_check -f</B> <font size=3>[ <font size=3><B>-i</B> <font size=3>ino ] ... [ <font size=3><B>-b</B> <font size=3>bno ] ... [ <font size=3><B>-s</B> <font size=3>] [ <font size=3><B>-v</B> <font size=3>] file</p>
<p><font size=3><B>xfs_check64</B> <font size=3>[ <font size=3><B>-i</B> <font size=3>ino ] ... [ <font size=3><B>-b</B> <font size=3>bno ] ... [ <font size=3><B>-s</B> <font size=3>] [ <font size=3><B>-v</B> <font size=3>] xfs_special</p>
<p><font size=3><B>xfs_check64 -f</B> <font size=3>[ <font size=3><B>-i</B> <font size=3>ino ] ... [ <font size=3><B>-b</B> <font size=3>bno ] ... [ <font size=3><B>-s</B> <font size=3>] [ <font size=3><B>-v</B> <font size=3>] file</p>
</td>
<td valign="top" align="left"  width="46.0000%">
</td>
</tr>
</table>
<br>
<a name="DESCRIPTION"></a><h2>DESCRIPTION</h2><p><font size=3><I>xfs_check</I> <font size=3>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 <font size=3><I>xfs_special</I> <font size=3>argu- ment, which should be the disk or volume device for the filesystem. Filesystems stored in files can also be checked, using the <font size=3><B>-f</B> <font size=3>flag. The filesystem should normally be unmounted or read-only during the execution of <font size=3><I>xfs_check</I><font size=3>. Otherwise, spurious problems are reported.</p>
<p><font size=3><I>xfs_check64</I> <font size=3>is a 64-bit version of <font size=3><I>xfs_check</I> <font size=3>which is not as susceptible to running out of memory. It is available only on 64-bit capable systems.</p>
<p><font size=3>The options to <font size=3><I>xfs_check</I> <font size=3>are:</p>

<table width="100%"  rules="none"  frame="none"  cols="3">
<tr valign="top" align="left">
<td valign="top" align="left"  width="6.3077%">
<p><font size=3><B>-f</p>
</B></td>
<td valign="top" align="left"  width="2.0000%">
</td>
<td valign="top" align="left"  width="91.6923%">
<p><font size=3>Specifies that the special device is actually a file (see the <font size=3><I>mkfs_xfs</I> <font size=3><B>-d</B> <font size=3><I>file</I> <font size=3>option). This might happen if an image copy of a filesystem has been made into an ordinary file.</p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left"  width="6.3077%">
<p><font size=3><B>-s</p>
</B></td>
<td valign="top" align="left"  width="2.0000%">
</td>
<td valign="top" align="left"  width="91.6923%">
<p><font size=3>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.</p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left"  width="6.3077%">
<p><font size=3><B>-v</p>
</B></td>
<td valign="top" align="left"  width="2.0000%">
</td>
<td valign="top" align="left"  width="91.6923%">
<p><font size=3>Specifies verbose output; it is impossibly long for a reasonably-sized filesystem. This option is intended for internal use only.</p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left"  width="6.3077%">
<p><font size=3><B>-i</B> <font size=3><I>ino</p>
</I></td>
<td valign="top" align="left"  width="2.0000%">
</td>
<td valign="top" align="left"  width="91.6923%">
<p><font size=3>Specifies verbose behavior for a specific inode. For instance, it can be used to locate all the blocks asso- ciated with a given inode.</p>
</td>
</tr>
<tr valign="top" align="left">
<td valign="top" align="left"  width="6.3077%">
<p><font size=3><B>-b</B> <font size=3><I>bno</p>
</I></td>
<td valign="top" align="left"  width="2.0000%">
</td>
<td valign="top" align="left"  width="91.6923%">
<p><font size=3>Specifies verbose behavior for a specific filesystem block. 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 <font size=3><I>xfs_bmap</I><font size=3>) and file system blocks may be accom- plished using <font size=3><I>xfs_db</I><font size=3>'s <font size=3><B>convert</B> <font size=3>command.</p>
</td>
</tr>
</table>
<p><font size=3>Any non-verbose output from <font size=3><I>xfs_check</I> <font size=3>means that the filesystem has an inconsistency. The filesystem can be repaired using either <font size=3><I>xfs_repair(1M)</I> <font size=3>to fix the filesystem in place, or by using <font size=3><I>xfsdump</I><font size=3>(1M) and <font size=3><I>mkfs_xfs</I><font size=3>(1M) to dump the filesystem, make a new filesystem, then use <font size=3><I>xfsrestore</I><font size=3>(1M) 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.</p>
<a name="DIAGNOSTICS"></a><h2>DIAGNOSTICS</h2><p><font size=3>Under one circumstance, <font size=3><I>xfs_check</I> <font size=3>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 <font size=3><I>xxx is not a valid filesys- tem</p>
</I><p><font size=3>If the filesystem is very large (has many files) then <font size=3><I>xfs_check</I> <font size=3>might run out of memory. In this case the message out of memory is printed, and if the system running xfs_check supports execution of 64-bit binaries, then a sugges- tion to run <font size=3><I>xfs_check64</I> <font size=3>is printed as well.</p>
<p><font size=3>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.</p>
<p><font size=3><I>agf_freeblks n, counted m in ag a</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The freeblocks count in the allocation group header for allocation group <font size=3><I>a</I> <font size=3>doesn't match the<br>
number of blocks counted free.</p>
</td>
</tr>
</table>
<p><font size=3><I>agf_longest n, counted m in ag a</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The longest free extent in the allocation group header for allocation group <font size=3><I>a</I> <font size=3>doesn't match<br>
the longest free extent found in the allocation group.</p>
</td>
</tr>
</table>
<p><font size=3><I>agi_count n, counted m in ag a<br>
<span style=" text-indent: 1.3000in;"></span></I>The allocated inode count in the allocation group header for allocation group <font size=3><I>a</I> <font size=3>doesn't<br>
<span style=" text-indent: 1.3000in;"></span>match the number of inodes counted in the allocation group.<br>
</p>

<!-- Page: 2  -->
<!-- left  margin: 100 -->
<!-- right margin: 750 -->
<p><font size=3><I>agi_freecount n, counted m in ag a</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The free inode count in the allocation group header for allocation group <font size=3><I>a</I> <font size=3>doesn't match the<br>
number of inodes counted free in the allocation group.</p>
</td>
</tr>
</table>
<p><font size=3><I>block a/b expected inum 0 got i<br>
<span style=" text-indent: 1.3000in;"></span></I>The block number is specified as a pair (allocation group number, block in the allocation<br>
<span style=" text-indent: 1.3000in;"></span>group). The block is used multiple times (shared), between multiple inodes. This message<br>
<span style=" text-indent: 1.3000in;"></span>usually follows a message of the next type.</p>
<p><font size=3><I>block a/b expected type unknown got y<br>
<span style=" text-indent: 1.3000in;"></span></I>The block is used multiple times (shared).</p>
<p><font size=3><I>block a/b type unknown not expected<br>
<span style=" text-indent: 1.3000in;"></span></I>The block is unaccounted for (not in the freelist and not in use).</p>
<p><font size=3><I>link count mismatch for inode nnn (name xxx), nlink m, counted n</p>
</I><p align=center><font size=3>The inode has a bad link count (number of references in directories).</p>
<p><font size=3><I>rtblock b expected inum 0 got i</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The block is used multiple times (shared), between multiple inodes. This message usually<br>
follows a message of the next type.</p>
</td>
</tr>
</table>
<p><font size=3><I>rtblock b expected type unknown got y<br>
<span style=" text-indent: 1.3000in;"></span></I>The real-time block is used multiple times (shared).</p>
<p><font size=3><I>rtblock b type unknown not expected<br>
<span style=" text-indent: 1.3000in;"></span></I>The real-time block is unaccounted for (not in the freelist and not in use).</p>
<p><font size=3><I>sb_fdblocks n, counted m</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The number of free data blocks recorded in the superblock doesn't match the number<br>
counted free in the filesystem.</p>
</td>
</tr>
</table>
<p><font size=3><I>sb_frextents n, counted m</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The number of free real-time extents recorded in the superblock doesn't match the number<br>
counted free in the filesystem.</p>
</td>
</tr>
</table>
<p><font size=3><I>sb_icount n, counted m</p>
</I>
<table width="100%"  rules="none"  frame="none"  cols="2">
<tr valign="top" align="left">
<td valign="top" align="left"  width="20.0000%">
</td>
<td valign="top" align="left"  width="80.0000%">
<p><font size=3>The number of allocated inodes recorded in the superblock doesn't match the number allo-<br>
cated in the filesystem.</p>
</td>
</tr>
</table>
<p><font size=3><I>sb_ifree n, counted m</I> <font size=3>The number of free inodes recorded in the superblock doesn't match the number free in the<br>
<span style=" text-indent: 1.3000in;"></span>filesystem.</p>
<a name="SEE ALSO"></a><h2>SEE ALSO</h2><p><font size=3>mkfs_xfs(1M), xfsdump(1M), xfsrestore(1M), xfs_ncheck(1M), xfs_repair(1M), xfs(4).<br>
</p>
</body>
</html>