dovecot-2.0: dbox: Reset cache files when rebuilding indexes.
dovecot at dovecot.org
dovecot at dovecot.org
Thu Aug 12 18:59:04 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/ab8ca4ded5ac
changeset: 11989:ab8ca4ded5ac
user: Timo Sirainen <tss at iki.fi>
date: Thu Aug 12 16:58:45 2010 +0100
description:
dbox: Reset cache files when rebuilding indexes.
This is especially important if there are broken cached GUIDs for messages,
which will cause GUID mismatches when trying to expunge messages.
diffstat:
src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c | 4 ++++
src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c | 3 +++
2 files changed, 7 insertions(+), 0 deletions(-)
diffs (41 lines):
diff -r 117053f20528 -r ab8ca4ded5ac src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
--- a/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Thu Aug 12 16:53:04 2010 +0100
+++ b/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c Thu Aug 12 16:58:45 2010 +0100
@@ -6,6 +6,7 @@
#include "istream.h"
#include "hash.h"
#include "str.h"
+#include "mail-cache.h"
#include "dbox-sync-rebuild.h"
#include "mail-namespace.h"
#include "mdbox-storage.h"
@@ -521,6 +522,9 @@
return -1;
}
+ /* reset cache, just in case it contains invalid data */
+ mail_cache_reset(box->cache);
+
rebuild_ctx = dbox_sync_index_rebuild_init(&mbox->box, view, trans);
mdbox_header_update(rebuild_ctx, mbox);
rebuild_mailbox_multi(ctx, rebuild_ctx, mbox, view, trans);
diff -r 117053f20528 -r ab8ca4ded5ac src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
--- a/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c Thu Aug 12 16:53:04 2010 +0100
+++ b/src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c Thu Aug 12 16:58:45 2010 +0100
@@ -3,6 +3,7 @@
#include "lib.h"
#include "array.h"
#include "dbox-sync-rebuild.h"
+#include "mail-cache.h"
#include "sdbox-storage.h"
#include "sdbox-file.h"
#include "sdbox-sync.h"
@@ -176,6 +177,8 @@
}
}
+ mail_cache_reset(mbox->box.cache);
+
view = mail_index_view_open(mbox->box.index);
trans = mail_index_transaction_begin(view,
MAIL_INDEX_TRANSACTION_FLAG_EXTERNAL);
More information about the dovecot-cvs
mailing list