From: Timo Sirainen Date: Sun, 2 Oct 2011 15:54:32 +0000 (+0300) Subject: maildir: Maildir list index change check should always check index log changes. X-Git-Tag: 2.1.beta1~85 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c59137aad6e0305a9d91fcbb2b18739ea1890bc1;p=thirdparty%2Fdovecot%2Fcore.git maildir: Maildir list index change check should always check index log changes. (Not only when maildir_very_dirty_syncs=no) --- 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);