Mercurial > dovecot > original-hg > dovecot-1.2
changeset 2909:f4eaf629bea3 HEAD
Don't mark map to be written into disk if we're syncing a view and not
index.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 29 Nov 2004 02:23:35 +0200 |
parents | ef0b296ad4dd |
children | 1a9e4676196d |
files | src/lib-index/mail-index-sync-update.c |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-sync-update.c Mon Nov 29 02:17:44 2004 +0200 +++ b/src/lib-index/mail-index-sync-update.c Mon Nov 29 02:23:35 2004 +0200 @@ -12,16 +12,19 @@ #include <stdlib.h> -static void mail_index_sync_replace_map(struct mail_index_view *view, +static void mail_index_sync_replace_map(struct mail_index_sync_map_ctx *ctx, struct mail_index_map *map) { + struct mail_index_view *view = ctx->view; mail_index_unmap(view->index, view->map); view->map = map; view->map->refcount++; mail_index_unmap(view->index, view->index->map); view->index->map = map; view->index->hdr = &map->hdr; - map->write_to_disk = TRUE; + + if (ctx->type == MAIL_INDEX_SYNC_HANDLER_INDEX) + map->write_to_disk = TRUE; } static void @@ -202,7 +205,7 @@ I/O we copy the index into memory rather than to temporary file */ map = mail_index_map_to_memory(map, map->hdr.record_size); - mail_index_sync_replace_map(view, map); + mail_index_sync_replace_map(ctx, map); } i_assert(MAIL_INDEX_MAP_IS_IN_MEMORY(map)); @@ -576,7 +579,7 @@ if (old_record_size != u->record_size) { map = sync_ext_reorder(map, ext_id, old_record_size); - mail_index_sync_replace_map(ctx->view, map); + mail_index_sync_replace_map(ctx, map); } } @@ -679,7 +682,7 @@ mail_index_sync_init_handlers(ctx); map = sync_ext_reorder(map, ext_id, 0); - mail_index_sync_replace_map(ctx->view, map); + mail_index_sync_replace_map(ctx, map); ctx->cur_ext_ignore = FALSE; ctx->cur_ext_id = ext_id;