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