The newest versions of courier-imap, a maildir POP3/POP3S/IMAP/IMAPS
server, and maildrop, a MDA, now have a compile time configure option:
--with-dirsync
Should it now be safe to run ext3 filesystems (that contain the
maildirs) with data=writeback?
BTW, procmail isn't doing proper fsyncing when writing to a maildir.
Dax
Here is some strace output from email delivery via maildrop compiled
with --with-dirsync:
open("./Maildir/tmp/1037107256.1332_0.mail,S=673", O_WRONLY|O_NONBLOCK|O_CREAT|O_EXCL, 0666) = 3
write(3, "message contents goes here"..., 673) = 673
fsync(3) = 0
close(3) = 0
link("./Maildir/tmp/1037107256.1332_0.mail,S=673", "./Maildir/new/1037107256.1332_0.mail,S=673") = 0
open("./Maildir/new", O_RDONLY) = 3
fsync(3) = 0
close(3) = 0
unlink("./Maildir/tmp/1037107256.1332_0.mail,S=673") = 0
[snip some non-relevant stuff]
exit(0)
Does this look correct/safe? Filesystem is ext3 data=writeback.