dovecot-1.1: Maildir: Check more correctly when we should update...

dovecot at dovecot.org dovecot at dovecot.org
Sun Jul 20 15:42:01 EEST 2008


details:   http://hg.dovecot.org/dovecot-1.1/rev/1edff123dd8f
changeset: 7760:1edff123dd8f
user:      Timo Sirainen <tss at iki.fi>
date:      Sun Jul 20 15:41:57 2008 +0300
description:
Maildir: Check more correctly when we should update/recreate uidlist.

diffstat:

1 file changed, 8 insertions(+), 4 deletions(-)
src/lib-storage/index/maildir/maildir-uidlist.c |   12 ++++++++----

diffs (33 lines):

diff -r a8331972aee5 -r 1edff123dd8f src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Sun Jul 20 15:24:05 2008 +0300
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c	Sun Jul 20 15:41:57 2008 +0300
@@ -1161,6 +1161,9 @@ static bool maildir_uidlist_want_compres
 {
 	unsigned int min_rewrite_count;
 
+	if (!ctx->uidlist->initial_read)
+		return FALSE;
+
 	min_rewrite_count =
 		(ctx->uidlist->read_records_count + ctx->new_files_count) *
 		UIDLIST_COMPRESS_PERCENTAGE / 100;
@@ -1171,14 +1174,15 @@ static bool maildir_uidlist_want_recreat
 {
 	struct maildir_uidlist *uidlist = ctx->uidlist;
 
+	if (uidlist->recreate ||
+	    ctx->finish_change_counter != uidlist->change_counter)
+		return TRUE;
+
 	if (!uidlist->initial_read)
 		return FALSE;
 
-	if (uidlist->recreate || uidlist->fd == -1 ||
-	    uidlist->version != UIDLIST_VERSION ||
-	    ctx->finish_change_counter != uidlist->change_counter)
+	if (uidlist->fd == -1 || uidlist->version != UIDLIST_VERSION)
 		return TRUE;
-
 	return maildir_uidlist_want_compress(ctx);
 }
 


More information about the dovecot-cvs mailing list