Timo Sirainen schrieb:
Actually I'm missing one fsync() here with maildir. I should open the new/ directory and fsync() it too. Currently I'm just fsyncing the individual maildir files.
That should suffice on those file systems I consider reasonable, such as ext3fs (Linux) or FFS/UFS/UFS2 with softupdates (softdep, *BSD), even the junkyard of reiserfs, in the sense that fsync() on a file here will flush the entire journal and thus make sure that the directory blocks are also synched.
It will make a difference on Linux's ext2 unless you mount with -odirsync which makes directory changes synchronous operations.
Note that I last queried file system authors on the linux-kernel list about this in the early Linux 2.4.X days, i. e. years ago.
HTH, Matthias Andree