dovecot-2.0: maildir: Avoid unnecessarily reading uidlist when o...

dovecot at dovecot.org dovecot at dovecot.org
Mon Dec 6 03:20:18 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/8afad3c2928d
changeset: 12516:8afad3c2928d
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Dec 06 01:19:25 2010 +0000
description:
maildir: Avoid unnecessarily reading uidlist when opening mailbox.

diffstat:

 src/lib-storage/index/maildir/maildir-sync.c |  19 +++++++++----------
 1 files changed, 9 insertions(+), 10 deletions(-)

diffs (29 lines):

diff -r 4b084f357db1 -r 8afad3c2928d src/lib-storage/index/maildir/maildir-sync.c
--- a/src/lib-storage/index/maildir/maildir-sync.c	Mon Dec 06 00:43:28 2010 +0000
+++ b/src/lib-storage/index/maildir/maildir-sync.c	Mon Dec 06 01:19:25 2010 +0000
@@ -684,16 +684,15 @@
 				     new_changed_r, cur_changed_r) < 0)
 		return -1;
 
-	if (have_recent_messages(ctx)) {
-		if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
-			*new_changed_r = TRUE;
-		} else if (*new_changed_r) {
-			/* we have some recent messages and new/ has changed.
-			   if messages had been externally deleted from new/,
-			   we need to get them out of index. this requires that
-			   we make sure they weren't just moved to cur/. */
-			*cur_changed_r = TRUE;
-		}
+	if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) {
+		if (!*new_changed_r)
+			*new_changed_r = have_recent_messages(ctx);
+	} else if (*new_changed_r) {
+		/* we have some recent messages and new/ has changed.
+		   if messages had been externally deleted from new/,
+		   we need to get them out of index. this requires that
+		   we make sure they weren't just moved to cur/. */
+		*cur_changed_r = have_recent_messages(ctx);
 	}
 
 	if (*new_changed_r || *cur_changed_r)


More information about the dovecot-cvs mailing list