[ZODB-Dev] Using zodb and blobs

Wichert Akkerman wichert at wiggy.net
Wed Apr 14 02:39:46 EDT 2010


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 
expect.

Wichert.


More information about the ZODB-Dev mailing list