dovecot: Removed no-appends specific code that's unneeded now.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Jun 18 01:18:43 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/98a3ab6f8404
changeset: 5767:98a3ab6f8404
user: Timo Sirainen <tss at iki.fi>
date: Mon Jun 18 01:18:20 2007 +0300
description:
Removed no-appends specific code that's unneeded now.
diffstat:
3 files changed, 14 insertions(+), 68 deletions(-)
src/lib-index/mail-index-view-private.h | 7 +--
src/lib-index/mail-index-view-sync.c | 65 +++----------------------------
src/lib-index/mail-index-view.c | 10 +---
diffs (178 lines):
diff -r 9ebd052d07b0 -r 98a3ab6f8404 src/lib-index/mail-index-view-private.h
--- 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_view {
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;
diff -r 9ebd052d07b0 -r 98a3ab6f8404 src/lib-index/mail-index-view-sync.c
--- 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 @@ struct mail_index_view_sync_ctx {
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 @@ mail_transaction_log_sort_expunges(ARRAY
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 @@ int mail_index_view_sync_begin(struct ma
{
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 @@ int mail_index_view_sync_begin(struct ma
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 @@ mail_index_view_sync_want(struct mail_in
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(str
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)
@@ -715,10 +670,6 @@ void mail_index_view_sync_end(struct mai
if (!ctx->skipped_expunges) {
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) {
diff -r 9ebd052d07b0 -r 98a3ab6f8404 src/lib-index/mail-index-view.c
--- 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 @@ void mail_index_view_clone(struct mail_i
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 @@ mail_index_view_open_with_map(struct mai
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,
More information about the dovecot-cvs
mailing list