Talk:Repairing early UNIX file systems

From Computer History Wiki
Jump to: navigation, search

More history

From here by Guy Harris, Jan 15, 1984:

Hal Pierson .. mentioned that ... "craftsmen" (which I think is AT&Tese for "field engineer") ... wouldn't know an inode if it came up and bit them in the *ss, so they had to replace "icheck" and "dcheck" with a new program which would do most of the dirty work of file system repair for them - Hal wrote one called "fcheck", which cleaned V6 file systems, and which appeared in source-code form on the PWB/UNIX 1.0 distribution tape. Unfortunately, PWB/UNIX 1.0 modified the V6 file system so that it didn't support "huge" files, and the eighth indirect pointer pointed directly to a block as the other seven did, so the "fcheck" there wouldn't fix a vanilla PWB/UNIX file system, but it worked just fine on a vanilla V6 FS. When I discovered it, quite by accident, I looked at it and it sure looked like a super-duper file system fixer; once we got it up, we never went back to "icheck" and "dcheck" again. Later on, of course, Ted Kowalski rewrote it to work on a V7 filesystem, added some extra checks, gave it the ability to reconnect files with no directory entries, put comments into the code (something Hal still has trouble doing :-)), cleaned it up some, and renamed it "fsck".

Jnc (talk) 15:46, 7 March 2023 (CET)

This removal of support for 'huge' files appears to be correct. If one compares bmap() in PWB1'S subr.c with V6's, the "'huge' fetch of double indirect block" code has been removed. I guess PWB didn't need very large (> 8*256*512 = 1,048,576 bytes) files? Jnc (talk) 11:49, 8 March 2023 (CET)