dovecot-2.1: maildir: Maildir list index change check should alw...

dovecot at dovecot.org dovecot at dovecot.org
Sun Oct 2 18:46:34 EEST 2011


details:   http://hg.dovecot.org/dovecot-2.1/rev/65696275eaa6
changeset: 13594:65696275eaa6
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Oct 02 18:54:32 2011 +0300
description:
maildir: Maildir list index change check should always check index log changes.
(Not only when maildir_very_dirty_syncs=no)

diffstat:

 src/lib-storage/index/maildir/maildir-sync-index.c |  11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diffs (31 lines):

diff -r 37c078f1745c -r 65696275eaa6 src/lib-storage/index/maildir/maildir-sync-index.c
--- a/src/lib-storage/index/maildir/maildir-sync-index.c	Sun Oct 02 18:49:09 2011 +0300
+++ b/src/lib-storage/index/maildir/maildir-sync-index.c	Sun Oct 02 18:54:32 2011 +0300
@@ -710,9 +710,13 @@
 	struct stat st;
 	uint32_t ext_id;
 	bool expunged;
+	int ret;
 
+	ret = index_storage_list_index_has_changed(box, list_view, seq);
+	if (ret != 0)
+		return ret;
 	if (mbox->storage->set->maildir_very_dirty_syncs)
-		return index_storage_list_index_has_changed(box, list_view, seq);
+		return 0;
 
 	ext_id = maildir_list_get_ext_id(mbox, list_view);
 	mail_index_lookup_ext(list_view, seq, ext_id, &data, &expunged);
@@ -762,10 +766,9 @@
 	uint32_t ext_id;
 	bool expunged;
 
-	if (mbox->storage->set->maildir_very_dirty_syncs) {
-		index_storage_list_index_update_sync(box, trans, seq);
+	index_storage_list_index_update_sync(box, trans, seq);
+	if (mbox->storage->set->maildir_very_dirty_syncs)
 		return;
-	}
 
 	/* get the current record */
 	list_view = mail_index_transaction_get_view(trans);


More information about the dovecot-cvs mailing list