From d8b23843fb938c0a8f19f4abdb6c2a04b898a2b1 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 20 Jul 2008 15:41:57 +0300 Subject: [PATCH] Maildir: Check more correctly when we should update/recreate uidlist. --HG-- branch : HEAD --- src/lib-storage/index/maildir/maildir-uidlist.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib-storage/index/maildir/maildir-uidlist.c b/src/lib-storage/index/maildir/maildir-uidlist.c index 459f584e8d..f9e9def33a 100644 --- a/src/lib-storage/index/maildir/maildir-uidlist.c +++ b/src/lib-storage/index/maildir/maildir-uidlist.c @@ -1161,6 +1161,9 @@ static bool maildir_uidlist_want_compress(struct maildir_uidlist_sync_ctx *ctx) { 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_recreate(struct maildir_uidlist_sync_ctx *ctx) { 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); } -- 2.47.3