Heikki Linnakangas wrote:
The Linux fsync man page says:

"It does not necessarily ensure that the entry in the directory containing the file has also reached disk. For that an explicit fsync on the file descriptor of the directory is also needed."

AFAIK, we don't care about it at the moment. The actual behaviour depends on the filesystem, reiserfs and other journaling filesystems probably don't need the explicit fsync on the parent directory, but at least ext2 does.

I've experimented with a user-mode-linux installation, crashing it at specific points. It seems that on ext2, it's possible to get the database in non-consistent state.

Have you experimented with mounting the filesystem with the dirsync option ('-o dirsync') or marking the log directory as synchronous with 'chattr +D'? (no, it's not a real fix, just another data point..)


-O

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to