From: Timo Sirainen Date: Mon, 6 Dec 2010 01:19:25 +0000 (+0000) Subject: maildir: Avoid unnecessarily reading uidlist when opening mailbox. X-Git-Tag: 2.0.9~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2881363d32babb74b1281ed87388f173e3399840;p=thirdparty%2Fdovecot%2Fcore.git maildir: Avoid unnecessarily reading uidlist when opening mailbox. --- diff --git a/src/lib-storage/index/maildir/maildir-sync.c b/src/lib-storage/index/maildir/maildir-sync.c index 0a7b224ae8..5f839f6e7d 100644 --- a/src/lib-storage/index/maildir/maildir-sync.c +++ b/src/lib-storage/index/maildir/maildir-sync.c @@ -684,16 +684,15 @@ static int maildir_sync_get_changes(struct maildir_sync_context *ctx, 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)