Warner - awesome. I would add a few things that were sort of in the story,
although not directly.
The primary difference between 4.0 and 4.1 was originally a political push
with Stanford trying to get VMS as the official OS for Arpa and Joy
countering with BSD claiming it was within epsilon of VMS and in some cases
faster. The performance was the biggest of the Stanford complaints which
Bill fixed with a much a carefully placed assembler. But IIRC, one of the
other issues was "UNIX is unreliable" and file system corrupt was tossed
out as an example of the same [The lack of real/complete Fortran compiler
was never corrected, but I remember that was one of the other reasons
given. But it was one of the reasons why a couple of UCB compiler folks
worked on improving F77 and building dbx, although it was never in the same
league as VMS's compiler or any of the many DEC debuggers].
Anyway, after 4.0 came out, Goble released the 'Purdue file system fixes'.
When V6-4.1BSD Unix crashed, the OS was noted for leaving a possible
corrupted file system (this was why tjk wrote fsck of course for V6 years
before). George really spent time analyzing the order that different
writes were done *i.e.* making sure the data, inodes, superblock were
updated in the right order. This cut down file system corruption after a
system crash. He also had a way to force the buffer cache to be cleared
properly and part of that was that George had implemented reboot
independently of Joy and I think before Bill.
Certainly by 4.1B when McKussick's new FS was being folded into the kernel,
Joy had pulled the original file system write order changes from Purdue.
He may have done that as part of 4.1 "FASTVAX" work and before he explored
reboot.
The point is that sync, reboot, and file system block write ordering was
all mixed together.
On Mon, Jul 27, 2020 at 3:01 PM Warner Losh <imp(a)bsdimp.com> wrote:
I've done some research for a friend about when
the reboot() system call
was added, and how it related to the sync, sync, sync dance.
https://bsdimp.blogspot.com/2020/07/when-unix-learned-to-reboot2.html
may be of interest. Please do let me know if I've gotten something wrong...
Warner