From c59137aad6e0305a9d91fcbb2b18739ea1890bc1 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 2 Oct 2011 18:54:32 +0300 Subject: [PATCH] maildir: Maildir list index change check should always check index log changes. (Not only when maildir_very_dirty_syncs=no) --- src/lib-storage/index/maildir/maildir-sync-index.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib-storage/index/maildir/maildir-sync-index.c b/src/lib-storage/index/maildir/maildir-sync-index.c index d38c67a24f..6f3cd8ae9a 100644 --- a/src/lib-storage/index/maildir/maildir-sync-index.c +++ b/src/lib-storage/index/maildir/maildir-sync-index.c @@ -710,9 +710,13 @@ int maildir_list_index_has_changed(struct mailbox *box, struct stat st; uint32_t ext_id; bool expunged; + int ret; + ret = index_storage_list_index_has_changed(box, list_view, seq); + if (ret != 0) + return ret; if (mbox->storage->set->maildir_very_dirty_syncs) - return index_storage_list_index_has_changed(box, list_view, seq); + return 0; ext_id = maildir_list_get_ext_id(mbox, list_view); mail_index_lookup_ext(list_view, seq, ext_id, &data, &expunged); @@ -762,10 +766,9 @@ void maildir_list_index_update_sync(struct mailbox *box, uint32_t ext_id; bool expunged; - if (mbox->storage->set->maildir_very_dirty_syncs) { - index_storage_list_index_update_sync(box, trans, seq); + index_storage_list_index_update_sync(box, trans, seq); + if (mbox->storage->set->maildir_very_dirty_syncs) return; - } /* get the current record */ list_view = mail_index_transaction_get_view(trans); -- 2.47.3