Subject: fsck claims missing blocks erroneously Index: etc/fsck/pass1.c 2.11BSD Description: 'fsck' erroneously reports "BLK(S) MISSING" on file systems after the first one checked. Repeat-By: Run 'fsck' without specifying a particular filesystem (let 'fsck' do all of the filesystems in /etc/fstab) on a system with multiple filesystems. Note that the 'root' filesystem will not cause the "BLK(S) MISSING" error, but that all succeeding filesystems will have blocks reported as missing. Fix: The problem was that 'fsck' was not clearing the counter of free blocks between filesystems. Apply the following patch to 'fsck', recompile and install 'fsck'. ------------------------------------------------------------------ *** /usr/src/etc/fsck/pass1.c.old Wed Dec 19 13:27:19 1990 --- /usr/src/etc/fsck/pass1.c Mon Nov 18 16:35:44 1991 *************** *** 35,41 **** bzero((char *)&idesc, sizeof(struct inodesc)); idesc.id_type = ADDR; idesc.id_func = pass1check; ! n_files = n_blks = 0; for (inumber = ROOTINO; inumber < imax; inumber++) { dp = ginode(inumber); if (!ALLOC(dp)) { --- 35,41 ---- bzero((char *)&idesc, sizeof(struct inodesc)); idesc.id_type = ADDR; idesc.id_func = pass1check; ! n_files = n_blks = n_free = 0; for (inumber = ROOTINO; inumber < imax; inumber++) { dp = ginode(inumber); if (!ALLOC(dp)) {