Cyrus IMAP Server: Notes¶
appending: it’s important that the index records for individual messages make it to disk before the index header indicating that they’re there. so something like:
sync messages to disk (or depend on
link()
being atomic)create new index records, flush to disk
create new header if necessary (adding new user flag), flush to disk
flush cache file
update index header, flush to disk