Mercurial > dovecot > core-2.2
changeset 13594:65696275eaa6
maildir: Maildir list index change check should always check index log changes.
(Not only when maildir_very_dirty_syncs=no)
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 02 Oct 2011 18:54:32 +0300 |
parents | 37c078f1745c |
children | c2a173716500 |
files | src/lib-storage/index/maildir/maildir-sync-index.c |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync-index.c Sun Oct 02 18:49:09 2011 +0300 +++ b/src/lib-storage/index/maildir/maildir-sync-index.c Sun Oct 02 18:54:32 2011 +0300 @@ -710,9 +710,13 @@ 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 @@ 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);