Peter Bierman <bierman(at)apple(dot)com> writes:
> I think the intent of fsync() is closer to what you describe, but the
> convention is that fsync() hands responsibility to the disk hardware.
The "convention" was also that the hardware didn't confirm the command until
it had actually been executed...
None of this matters to the application. A specification for fsync(2) that
says it forces the data to be shuffled around under the hood but fundamentally
the doesn't change the semantics (that the data isn't guaranteed to be in
non-volatile storage) means that fsync didn't really do anything.
--
greg