On Tue, 2004-03-30 at 23:21, Jeff Garzik wrote:
For IDE, O_DIRECT and O_SYNC can use special "FUA" commands, which don't return until the data is on the platter.
fsync() is still really nasty, because that can require that we wait on
IO that was submitted by the VM before we knew that there was a
synchronous IO wait coming. SCSI also has an FUA bit that can make a
difference if you've got writeback caching enabled. (And FUA on read
can bypass drive writethrough caches, too, for media verification.)