Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5767:98a3ab6f8404 HEAD
Removed no-appends specific code that's unneeded now.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 18 Jun 2007 01:18:20 +0300 |
parents | 9ebd052d07b0 |
children | 35806800d2bd |
files | src/lib-index/mail-index-view-private.h src/lib-index/mail-index-view-sync.c src/lib-index/mail-index-view.c |
diffstat | 3 files changed, 14 insertions(+), 68 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-view-private.h Mon Jun 18 01:01:02 2007 +0300 +++ b/src/lib-index/mail-index-view-private.h Mon Jun 18 01:18:20 2007 +0300 @@ -54,10 +54,9 @@ struct mail_index_header hdr; - /* (append, expunge) <= head */ - uint32_t log_file_append_seq, log_file_expunge_seq, log_file_head_seq; - uoff_t log_file_append_offset, log_file_expunge_offset; - uoff_t log_file_head_offset; + /* expunge <= head */ + uint32_t log_file_expunge_seq, log_file_head_seq; + uoff_t log_file_expunge_offset, log_file_head_offset; /* Transaction log offsets which we don't want to return in view sync */ ARRAY_TYPE(view_log_sync_area) syncs_hidden;
--- a/src/lib-index/mail-index-view-sync.c Mon Jun 18 01:01:02 2007 +0300 +++ b/src/lib-index/mail-index-view-sync.c Mon Jun 18 01:18:20 2007 +0300 @@ -18,7 +18,6 @@ size_t data_offset; unsigned int sync_map_update:1; - unsigned int skipped_appends:1; unsigned int skipped_expunges:1; unsigned int last_read:1; }; @@ -88,36 +87,15 @@ return 0; } -static void view_sync_get_tail(struct mail_index_view *view, - uint32_t *seq_r, uoff_t *offset_r) -{ - if (LOG_IS_BEFORE(view->log_file_append_seq, - view->log_file_append_offset, - view->log_file_expunge_seq, - view->log_file_expunge_offset)) { - *seq_r = view->log_file_append_seq; - *offset_r = view->log_file_append_offset; - } else { - *seq_r = view->log_file_expunge_seq; - *offset_r = view->log_file_expunge_offset; - } - i_assert(!LOG_IS_BEFORE(view->log_file_head_seq, - view->log_file_head_offset, - *seq_r, *offset_r)); -} - static int view_sync_set_log_view_range(struct mail_index_view *view) { const struct mail_index_header *hdr = view->index->hdr; - uint32_t tail_seq; - uoff_t tail_offset; int ret; - view_sync_get_tail(view, &tail_seq, &tail_offset); - /* the view begins from the first non-synced transaction */ ret = mail_transaction_log_view_set(view->log_view, - tail_seq, tail_offset, + view->log_file_expunge_seq, + view->log_file_expunge_offset, hdr->log_file_seq, hdr->log_file_head_offset); if (ret <= 0) { @@ -264,8 +242,6 @@ { struct mail_index_view_sync_ctx *ctx; struct mail_index_map *map; - uint32_t tail_seq; - uoff_t tail_offset; enum mail_transaction_type visible_mask = 0; ARRAY_TYPE(seq_range) expunges = ARRAY_INIT; @@ -335,10 +311,10 @@ view->map->hdr = *hdr; } - view_sync_get_tail(view, &tail_seq, &tail_offset); ctx->sync_map_ctx.unreliable_flags = !VIEW_IS_SYNCED_TO_SAME(&view->map->hdr, - tail_seq, tail_offset); + view->log_file_expunge_seq, + view->log_file_expunge_offset); if (ctx->sync_map_update) { /* Copy only the mails that we see currently, since @@ -416,24 +392,6 @@ next_offset = offset + sizeof(*hdr) + hdr->size; switch (hdr->type & MAIL_TRANSACTION_TYPE_MASK) { - case MAIL_TRANSACTION_APPEND: - if ((ctx->visible_sync_mask & MAIL_TRANSACTION_APPEND) == 0) { - i_assert(!LOG_IS_BEFORE(seq, offset, - view->log_file_append_seq, - view->log_file_append_offset)); - if (!ctx->skipped_appends) { - view->log_file_append_seq = seq; - view->log_file_append_offset = offset; - ctx->skipped_appends = TRUE; - } - return FALSE; - } - if (LOG_IS_BEFORE(seq, offset, view->log_file_append_seq, - view->log_file_append_offset)) { - /* already synced */ - return FALSE; - } - break; case MAIL_TRANSACTION_EXPUNGE: if ((hdr->type & MAIL_TRANSACTION_EXTERNAL) == 0) { /* expunge request. this will be ignored */ @@ -671,21 +629,18 @@ mail_index_view_sync_clean_log_syncs(struct mail_index_view *view) { const struct mail_index_view_log_sync_area *syncs; - uint32_t tail_seq; - uoff_t tail_offset; unsigned int i, count; if (!array_is_created(&view->syncs_hidden)) return; /* Clean up to view's tail */ - view_sync_get_tail(view, &tail_seq, &tail_offset); - syncs = array_get(&view->syncs_hidden, &count); for (i = 0; i < count; i++) { - if ((syncs[i].log_file_offset + syncs[i].length > tail_offset && - syncs[i].log_file_seq == tail_seq) || - syncs[i].log_file_seq > tail_seq) + if ((syncs[i].log_file_offset + + syncs[i].length > view->log_file_expunge_offset && + syncs[i].log_file_seq == view->log_file_expunge_seq) || + syncs[i].log_file_seq > view->log_file_expunge_seq) break; } if (i > 0) @@ -716,10 +671,6 @@ view->log_file_expunge_seq = view->log_file_head_seq; view->log_file_expunge_offset = view->log_file_head_offset; } - if (!ctx->skipped_appends) { - view->log_file_append_seq = view->log_file_head_seq; - view->log_file_append_offset = view->log_file_head_offset; - } if (ctx->sync_map_update) { /* log offsets have no meaning in views. make sure they're not
--- a/src/lib-index/mail-index-view.c Mon Jun 18 01:01:02 2007 +0300 +++ b/src/lib-index/mail-index-view.c Mon Jun 18 01:18:20 2007 +0300 @@ -25,8 +25,6 @@ dest->hdr = src->hdr; dest->broken_counters = src->broken_counters; - dest->log_file_append_seq = src->log_file_append_seq; - dest->log_file_append_offset = src->log_file_append_offset; dest->log_file_expunge_seq = src->log_file_expunge_seq; dest->log_file_expunge_offset = src->log_file_expunge_offset; dest->log_file_head_seq = src->log_file_head_seq; @@ -693,11 +691,9 @@ view->hdr = view->map->hdr; - view->log_file_append_seq = view->log_file_expunge_seq = - view->log_file_head_seq = view->map->hdr.log_file_seq; - view->log_file_append_offset = - view->log_file_expunge_offset = - view->log_file_head_offset = + view->log_file_expunge_seq = view->log_file_head_seq = + view->map->hdr.log_file_seq; + view->log_file_expunge_offset = view->log_file_head_offset = view->map->hdr.log_file_head_offset; i_array_init(&view->module_contexts,