]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add mailbox_list.disable_rebuild_on_corruption
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 27 Sep 2021 17:35:19 +0000 (20:35 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 30 Sep 2021 07:58:08 +0000 (07:58 +0000)
If set, don't try to rebuild the mailbox list index even if corruption is
detected.

src/lib-storage/list/mailbox-list-index.c
src/lib-storage/mailbox-list-private.h

index de55aef6c4bcbd52b495c1577147e1a22a1ae439..0cbaf3fdec1dc9853fafee26345b865e0aaea317 100644 (file)
@@ -676,6 +676,9 @@ int mailbox_list_index_handle_corruption(struct mailbox_list *list)
        else
                return 0;
 
+       if (list->disable_rebuild_on_corruption)
+               return 0;
+
        /* make sure we don't recurse */
        if (ilist->handling_corruption)
                return 0;
index 6a04b9bf17ac44661846edca32786d45219d61c5..1454db3b075707c37d85c836c17c399fae75944f 100644 (file)
@@ -144,6 +144,7 @@ struct mailbox_list {
        bool index_root_dir_created:1;
        bool list_index_root_dir_created:1;
        bool guid_cache_updated:1;
+       bool disable_rebuild_on_corruption:1;
        bool guid_cache_invalidated:1;
        bool last_error_is_internal:1;
 };