dovecot-2.0: mdbox: Added a comment about how expunging works.

dovecot at dovecot.org dovecot at dovecot.org
Mon Apr 19 16:31:53 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/8e6cb40f577f
changeset: 11171:8e6cb40f577f
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Apr 19 16:31:50 2010 +0300
description:
mdbox: Added a comment about how expunging works.

diffstat:

 src/lib-storage/index/dbox-multi/mdbox-sync.c |  12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diffs (21 lines):

diff -r c2c2c1dd252e -r 8e6cb40f577f src/lib-storage/index/dbox-multi/mdbox-sync.c
--- a/src/lib-storage/index/dbox-multi/mdbox-sync.c	Mon Apr 19 16:15:57 2010 +0300
+++ b/src/lib-storage/index/dbox-multi/mdbox-sync.c	Mon Apr 19 16:31:50 2010 +0300
@@ -1,5 +1,17 @@
 /* Copyright (c) 2007-2010 Dovecot authors, see the included COPYING file */
 
+/*
+   Expunging works like:
+
+   1. Lock map index by beginning a map sync.
+   2. Write map UID refcount changes to map index.
+   3. Expunge messages from mailbox index.
+   4. Finish map sync, which updates head=tail and unlocks map index.
+
+   If something crashes after 2 but before 4 is finished, head != tail and
+   reader can do a full resync to figure out what got broken.
+*/
+
 #include "lib.h"
 #include "array.h"
 #include "ioloop.h"


More information about the dovecot-cvs mailing list