From: Timo Sirainen Date: Mon, 27 Sep 2021 17:35:19 +0000 (+0300) Subject: lib-storage: Add mailbox_list.disable_rebuild_on_corruption X-Git-Tag: 2.3.17~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a6477f032975535ee6bf880b5108ae42c43ebb93;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Add mailbox_list.disable_rebuild_on_corruption If set, don't try to rebuild the mailbox list index even if corruption is detected. --- diff --git a/src/lib-storage/list/mailbox-list-index.c b/src/lib-storage/list/mailbox-list-index.c index de55aef6c4..0cbaf3fdec 100644 --- a/src/lib-storage/list/mailbox-list-index.c +++ b/src/lib-storage/list/mailbox-list-index.c @@ -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; diff --git a/src/lib-storage/mailbox-list-private.h b/src/lib-storage/mailbox-list-private.h index 6a04b9bf17..1454db3b07 100644 --- a/src/lib-storage/mailbox-list-private.h +++ b/src/lib-storage/mailbox-list-private.h @@ -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; };