In log mode, all system calls other than
pwrite(2) are guaranteed to be persistent after the system call returns to the application.
rename(2) system call flushes the source file to disk to guarantee the persistence of the file data before renaming it. In both the log and delaylog modes, the rename is also guaranteed to be persistent when the system call returns. This benefits shell scripts and programs that try to update a file atomically by writing the new file contents to a temporary file and then renaming it on top of the target file.