On 4/14/10 08:24 , Christian Theune wrote:

> I'm pretty sure it's not. IIRC fsync is defined by POSIX and absolutely
> requires the implementor to flush data physically to disk ensuring its
> persistency. If that doesn't hold true then all transactions are borked.

That was the problem with fsync on Linux: it effectively flushed all 
pending filesystem work, not just that for your current filehandle. That 
was needed to satisfy ordering constraints for the filesystem. And even 
though the result might be a lie since disks or other bits of hardwire 
can lie to you. It is generally better to use fdatasync() instead of 
fsync(), but you could still end up waiting much longer than you would 

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to