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@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