Re: Proposal for "proper" durable fsync() and fdatasync()

Ric Wheeler
2008-02-26T15:14:25Z

Jeff Garzik wrote:
> Jamie Lokier wrote:
>> By durable, I mean that fsync() should actually commit writes to
>> physical stable storage,
>
> Yes, it should.
>
>
>> I was surprised that fsync() doesn't do this already. There was a lot
>> of effort put into block I/O write barriers during 2.5, so that
>> journalling filesystems can force correct write ordering, using disk
>> flush cache commands.
>>
>> After all that effort, I was very surprised to notice that Linux 2.6.x
>> doesn't use that capability to ensure fsync() flushes the disk cache
>> onto stable storage.
>
> It's surprising you are surprised, given that this [lame] fsync behavior
> has remaining consistently lame throughout Linux's history.

Maybe I am confused, but isn't this is what fsync() does today whenever
barriers are enabled (the fsync() invalidates the drive's write cache).

ric