From f5c1baf2cd74cb47a9624cb2f6b955a05c1a125b Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 27 Sep 2021 20:35:19 +0300 Subject: [PATCH] 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. --- src/lib-storage/list/mailbox-list-index.c | 3 +++ src/lib-storage/mailbox-list-private.h | 1 + 2 files changed, 4 insertions(+) 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; }; -- 2.47.3