See also
https://en.wikipedia.org/wiki/Professional_File_System which had a slightly different method of maintaining integrity. The filesystem metadata state would atomically change when the root block was updated, with all the actual changes being written to free space until then. You could do a load of writing, and hear the hard drive chugging away. Then it would finish, wait a second, and the hard drive would go "click", which was the atomic root block update.
It also had a rather interesting feature for log files, where you allocated a set size, and any appending onto the end of the file that made it longer would discard the part at the beginning of the file, without allocating any new space.