ICHECK(8) UNIX Programmer's Manual ICHECK(8) NAME icheck - file system storage consistency check SYNOPSIS icheck [ -s ] [ -b numbers ] [ filesystem ] DESCRIPTION _I_c_h_e_c_k examines a file system, builds a bit map of used blocks, and compares this bit map against the free list maintained on the file system. If the file system is not specified, a set of default file systems is checked. The normal output of _i_c_h_e_c_k includes a report of The total number of files and the numbers of regular, directory, block special and character special files, quota nodes, and symbolic links. The total number of blocks in use and the numbers of single-, double-, and triple-indirect blocks and direc- tory blocks. The number of free blocks. The number of blocks missing; i.e. not in any file nor in the free list. The -s option causes _i_c_h_e_c_k to ignore the actual free list and reconstruct a new one by rewriting the super-block of the file system. The file system should be dismounted while this is done; if this is not possible (for example if the root file system has to be salvaged) care should be taken that the system is quiescent and that it is rebooted immedi- ately afterwards so that the old, bad in-core copy of the super-block will not continue to be used. Notice also that the words in the super-block which indicate the size of the free list and of the i-list are believed. If the super- block has been curdled these words will have to be patched. The -s option causes the normal output reports to be suppressed. Following the -b option is a list of block numbers; whenever any of the named blocks turns up in a file, a diagnostic is produced. _I_c_h_e_c_k is faster if the raw version of the special file is used, since it reads the i-list many blocks at a time. SEE ALSO filsys(5), clri(8), dcheck(8), fsck(8), ncheck(8) DIAGNOSTICS For duplicate blocks and bad blocks (which lie outside the Printed 11/24/99 1 ICHECK(8) UNIX Programmer's Manual ICHECK(8) file system) _i_c_h_e_c_k announces the difficulty, the i-number, and the kind of block involved. If a read error is encoun- tered, the block number of the bad block is printed and _i_c_h_e_c_k considers it to contain 0. `Bad freeblock' means that a block number outside the available space was encoun- tered in the free list. `_n dups in free' means that _n blocks were found in the free list which duplicate blocks either in some file or in the earlier part of the free list. BUGS Since _i_c_h_e_c_k is inherently two-pass in nature, extraneous diagnostics may be produced if applied to active file sys- tems. Since default file systems vary with installations, _i_c_h_e_c_k should use _f_s_t_a_b(5). It believes even preposterous super-blocks and consequently can get core images. Printed 11/24/99 2