icheck - file system storage consistency check
icheck [ -s ] [ -b numbers ] [ filesystem ]
Icheck 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 icheck includes a report
The total number of files and the numbers of regular, directory, block special and
character special files.
The total number of blocks in use and the numbers of single-, double-, and triple-
indirect blocks and directory 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 icheck 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 sal-
vaged) 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.
Icheck is faster if the raw version of the special file is used, since it reads the i-list
many blocks at a time.
Default file systems vary with installation.
dcheck(1), ncheck(1), filsys(5), clri(1)
For duplicate blocks and bad blocks (which lie outside the file system) icheck 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 icheck considers it to contain 0.
`Bad freeblock' means that a block number outside the available space was encountered 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.
Since icheck is inherently two-pass in nature, extraneous diagnostics may be produced if
applied to active file systems.
It believes even preposterous super-blocks and consequently can get core images.