OK, so I was wrong! The variable in question was a
global static, 'ino'
(the current inode number),
Static is a much overloaded word in C, it's just a global variable.
'ino' was cleared before the _second_ pass,
but not the _first_. So it was
zero for the first pass of the first disk, but
non-zero for the first pass
on the second disk.
Yes, and in the version 7 version of icheck
(
http://www.tuhs.org/Archive/PDP-11/Trees/V7/usr/src/cmd/dcheck.c) they
appear to have fixed it.
It is set to zero before both the pass1 and pass2 loops.
I'm pretty sure whoever added the feature to check more than one file system
at a time didn't test it very well in V6.