ICHECK(8) ICHECK(8) NAME icheck, dcheck, ncheck - file system consistency check SYNOPSIS /etc/icheck [ option ... ] filesystem ... /etc/dcheck [ option ... ] filesystem ... /etc/ncheck [ option ... ] filesystem ... DESCRIPTION These programs perform consistency checks on file systems. For normal file system maintenance, see fsck(8). Common options are -B The file system is bitmapped. If filesystem is a spe- cial file, this option is set automatically from the minor device number. -i number ... Report only on specified inode numbers (dcheck and ncheck only). Icheck examines each filesystem, builds a list of used blocks, and compares this list against the free list main- tained on the file system. The normal output of icheck includes a report of 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 direc- tory blocks. The number of free blocks. The number of blocks missing; i.e. not in any file nor in the free list. Other icheck options are -s Ignore the 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 sys- tem is quiescent. 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 ICHECK(8) ICHECK(8) these words will have to be patched. The normal output reports are suppressed. -b number ... Report each appearance of the selected block numbers in a file or on the free list. -d Report each duplicate block. -m Report each missing block. -e Print at most one diagnostic per file; useful for badly curdled file systems. Dcheck reads the directories in each filesystem and compares the link count in each inode with the number of directory entries by which it is referenced. Ncheck generates a list of pathname vs i-number for each named filesystem. Other ncheck options are -a Report `.' and `..', which are normally ignored. -s Report only special files, and files with set-userid or set-groupid mode; helpful in finding security breaches. SEE ALSO filsys(5), chuck(8), fsck(8), clri(8) DIAGNOSTICS 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 encoun- tered in the free list. `Dups in free' means that blocks were found in the free list which duplicate blocks either in some file or in the earlier part of the free list. When a file turns up for which the link-count and the number of directory entries disagree, dcheck reports the relevant facts. Allocated files which have 0 link-count and no entries are also listed. The only dangerous situation occurs when there are more entries than links; if entries are removed, so the link-count drops to 0, the remaining entries point to thin air. They should be removed. When there are more links than entries, or there is an allocated file with neither links nor entries, some disk space may be lost but the situation will not degenerate. When the filesystem structure is improper, ncheck prints ICHECK(8) ICHECK(8) `??' to denote the `parent' of a parentless file. A path- name beginning with `...' denotes a loop. BUGS Extraneous diagnostics may be produced if these commands are applied to active file systems. They believe even preposterous super-blocks and consequently can get core images. Ncheck's report is in no useful order, and probably should be sorted. Ncheck fails to report the root inode.