# HG changeset patch # User Timo Sirainen # Date 1501911530 -32400 # Node ID e0f6374d1209151c821cdb7e90ce2e8969b4f4a2 # Parent 8da4a17e2b26cd65aef8203f4f6fbb879ad3bf2a lib-index: Remove tracking of mail_index_modseq_sync.highest_modseq It's no longer necessary after the previous changes. diff -r 8da4a17e2b26 -r e0f6374d1209 src/lib-index/mail-index-modseq.c --- a/src/lib-index/mail-index-modseq.c Sat Aug 05 14:33:12 2017 +0900 +++ b/src/lib-index/mail-index-modseq.c Sat Aug 05 14:38:50 2017 +0900 @@ -34,8 +34,6 @@ 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 @@ &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 @@ 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 @@ 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 @@ /* 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 @@ uint32_t seq1, uint32_t seq2) { struct metadata_modseqs *metadata; - uint64_t modseq; if (ctx->mmap == NULL) return; @@ -573,10 +560,6 @@ 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 @@ 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) { diff -r 8da4a17e2b26 -r e0f6374d1209 src/lib-index/mail-index-modseq.h --- a/src/lib-index/mail-index-modseq.h Sat Aug 05 14:33:12 2017 +0900 +++ b/src/lib-index/mail-index-modseq.h Sat Aug 05 14:38:50 2017 +0900 @@ -57,8 +57,6 @@ 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); diff -r 8da4a17e2b26 -r e0f6374d1209 src/lib-index/mail-index-sync-update.c --- a/src/lib-index/mail-index-sync-update.c Sat Aug 05 14:33:12 2017 +0900 +++ b/src/lib-index/mail-index-sync-update.c Sat Aug 05 14:38:50 2017 +0900 @@ -345,7 +345,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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,