From: Timo Sirainen Date: Mon, 19 Apr 2010 13:36:42 +0000 (+0300) Subject: mdbox: Minor optimization for syncing expunges. X-Git-Tag: 2.0.beta5~101 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8f4d8c489a992a5f0dca8a263968544c1c669779;p=thirdparty%2Fdovecot%2Fcore.git mdbox: Minor optimization for syncing expunges. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/dbox-multi/mdbox-sync.c b/src/lib-storage/index/dbox-multi/mdbox-sync.c index b9bfa25a4e..6650872f03 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-sync.c +++ b/src/lib-storage/index/dbox-multi/mdbox-sync.c @@ -26,8 +26,6 @@ #include #include -#define DBOX_REBUILD_COUNT 3 - static int dbox_sync_verify_expunge_guid(struct mdbox_sync_context *ctx, uint32_t seq, const uint8_t guid_128[MAIL_GUID_128_SIZE]) @@ -56,20 +54,17 @@ static int mdbox_sync_expunge(struct mdbox_sync_context *ctx, uint32_t seq, { uint32_t map_uid; - if (seq_range_exists(&ctx->expunged_seqs, seq)) { + if (seq_range_array_add(&ctx->expunged_seqs, 0, seq)) { /* already marked as expunged in this sync */ return 0; } if (dbox_sync_verify_expunge_guid(ctx, seq, guid_128) < 0) return -1; - if (mdbox_mail_lookup(ctx->mbox, ctx->sync_view, seq, &map_uid) < 0) return -1; - if (dbox_map_update_refcount(ctx->map_trans, map_uid, -1) < 0) return -1; - seq_range_array_add(&ctx->expunged_seqs, 0, seq); return 0; }