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

dovecot at dovecot.org dovecot at dovecot.org
Sun Jul 20 15:45:43 EEST 2008


details:   http://hg.dovecot.org/dovecot-1.2/rev/73b4fe95a6dd
changeset: 8015:73b4fe95a6dd
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 cb2650c20a58 -r 73b4fe95a6dd src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c	Wed Jun 18 03:18:56 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