]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-index: Remove tracking of mail_index_modseq_sync.highest_modseq
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Sat, 5 Aug 2017 05:38:50 +0000 (14:38 +0900)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Mon, 14 Aug 2017 08:20:48 +0000 (11:20 +0300)
It's no longer necessary after the previous changes.

src/lib-index/mail-index-modseq.c
src/lib-index/mail-index-modseq.h
src/lib-index/mail-index-sync-update.c

index 46ed2ad4ca19c1ed5f35e5ab28837e6e0ecd6e8d..b2f9390a3d3f36e22e57de148052fcfc02c71bb9 100644 (file)
@@ -34,8 +34,6 @@ struct mail_index_modseq_sync {
        struct mail_index_view *view;
        struct mail_transaction_log_view *log_view;
        struct mail_index_map_modseq *mmap;
-
-       uint64_t highest_modseq;
 };
 
 void mail_index_modseq_init(struct mail_index *index)
@@ -299,9 +297,6 @@ mail_index_modseq_update(struct mail_index_modseq_sync *ctx,
                                        &ext_map_idx))
                return;
 
-       if (modseq > ctx->highest_modseq)
-               ctx->highest_modseq = modseq;
-
        ext = array_idx(&ctx->view->map->extensions, ext_map_idx);
        for (; seq1 <= seq2; seq1++) {
                rec = MAIL_INDEX_REC_AT_SEQ(ctx->view->map, seq1);
@@ -335,7 +330,6 @@ mail_index_modseq_update_old_rec(struct mail_index_modseq_sync *ctx,
        buffer_t uid_buf;
        unsigned int i, count;
        uint32_t seq1, seq2;
-       uint64_t modseq;
 
        switch (thdr->type & MAIL_TRANSACTION_TYPE_MASK) {
        case MAIL_TRANSACTION_APPEND: {
@@ -381,11 +375,6 @@ mail_index_modseq_update_old_rec(struct mail_index_modseq_sync *ctx,
                return;
        }
 
-       /* update highestmodseq regardless of whether any mails were updated */
-       modseq = mail_transaction_log_view_get_prev_modseq(ctx->log_view);
-       if (modseq > ctx->highest_modseq)
-               ctx->highest_modseq = modseq;
-
        /* update modseqs */
        count = array_is_created(&uids) ? array_count(&uids) : 0;
        for (i = 0; i < count; i++) {
@@ -418,7 +407,6 @@ static void mail_index_modseq_sync_init(struct mail_index_modseq_sync *ctx)
 
        /* get the current highest_modseq. don't change any modseq below it. */
        hdr = CONST_PTR_OFFSET(map->hdr_base, ext->hdr_offset);
-       ctx->highest_modseq = hdr->highest_modseq;
 
        /* Scan logs for updates between ext_hdr.log_* .. view position.
           There are two reasons why there could be any:
@@ -563,7 +551,6 @@ void mail_index_modseq_expunge(struct mail_index_modseq_sync *ctx,
                               uint32_t seq1, uint32_t seq2)
 {
        struct metadata_modseqs *metadata;
-       uint64_t modseq;
 
        if (ctx->mmap == NULL)
                return;
@@ -573,10 +560,6 @@ void mail_index_modseq_expunge(struct mail_index_modseq_sync *ctx,
                if (array_is_created(&metadata->modseqs))
                        array_delete(&metadata->modseqs, seq1, seq2-seq1);
        }
-
-       modseq = mail_transaction_log_view_get_prev_modseq(ctx->log_view);
-       if (ctx->highest_modseq < modseq)
-               ctx->highest_modseq = modseq;
 }
 
 static void
@@ -651,13 +634,6 @@ void mail_index_modseq_reset_keywords(struct mail_index_modseq_sync *ctx,
                modseqs_idx_update(ctx, i, seq1, seq2);
 }
 
-void mail_index_modseq_update_highest(struct mail_index_modseq_sync *ctx,
-                                     uint64_t highest_modseq)
-{
-       if (ctx->highest_modseq < highest_modseq)
-               ctx->highest_modseq = highest_modseq;
-}
-
 struct mail_index_map_modseq *
 mail_index_map_modseq_clone(const struct mail_index_map_modseq *mmap)
 {
index 1ee2cbc5325337db3b71795ba9fd2389affb1576..bef44a1a78e50e93dc4437d7b229fb2379698396 100644 (file)
@@ -57,8 +57,6 @@ void mail_index_modseq_update_keyword(struct mail_index_modseq_sync *ctx,
                                      uint32_t seq1, uint32_t seq2);
 void mail_index_modseq_reset_keywords(struct mail_index_modseq_sync *ctx,
                                      uint32_t seq1, uint32_t seq2);
-void mail_index_modseq_update_highest(struct mail_index_modseq_sync *ctx,
-                                     uint64_t highest_modseq);
 
 struct mail_index_map_modseq *
 mail_index_map_modseq_clone(const struct mail_index_map_modseq *mmap);
index 11a1a1817b2285b99ffb537ae593f6bfe2fb4124..4d78b0496dc85939830b4fa8728bf1b51c480548 100644 (file)
@@ -345,7 +345,7 @@ sync_modseq_update(struct mail_index_sync_map_ctx *ctx,
        struct mail_index_view *view = ctx->view;
        const struct mail_transaction_modseq_update *end;
        uint32_t seq;
-       uint64_t min_modseq, highest_modseq = 0;
+       uint64_t min_modseq;
        int ret;
 
        end = CONST_PTR_OFFSET(u, size);
@@ -357,8 +357,6 @@ sync_modseq_update(struct mail_index_sync_map_ctx *ctx,
 
                min_modseq = ((uint64_t)u->modseq_high32 << 32) |
                        u->modseq_low32;
-               if (highest_modseq < min_modseq)
-                       highest_modseq = min_modseq;
 
                ret = seq == 0 ? 1 :
                        mail_index_modseq_set(view, seq, min_modseq);
@@ -370,8 +368,6 @@ sync_modseq_update(struct mail_index_sync_map_ctx *ctx,
                if (ret == 0 && sync_update_ignored_change(ctx))
                        view->index->sync_commit_result->ignored_modseq_changes++;
        }
-
-       mail_index_modseq_update_highest(ctx->modseq_ctx, highest_modseq);
        return 1;
 }
 
@@ -528,7 +524,6 @@ mail_index_sync_record_real(struct mail_index_sync_map_ctx *ctx,
                            const struct mail_transaction_header *hdr,
                            const void *data)
 {
-       uint64_t modseq;
        int ret = 0;
 
        switch (hdr->type & MAIL_TRANSACTION_TYPE_MASK) {
@@ -804,8 +799,6 @@ mail_index_sync_record_real(struct mail_index_sync_map_ctx *ctx,
        case MAIL_TRANSACTION_BOUNDARY:
                break;
        case MAIL_TRANSACTION_ATTRIBUTE_UPDATE:
-               modseq = mail_transaction_log_view_get_prev_modseq(ctx->view->log_view);
-               mail_index_modseq_update_highest(ctx->modseq_ctx, modseq);
                break;
        default:
                mail_index_sync_set_corrupted(ctx,