From: Timo Sirainen Date: Thu, 16 Apr 2020 11:46:28 +0000 (+0300) Subject: lib-storage: index_index_rebuild_init() - Assert-crash if index isn't locked X-Git-Tag: 2.3.11.2~340 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5535fad2b06709f36e0f362c842d3add2d843a86;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: index_index_rebuild_init() - Assert-crash if index isn't locked --- diff --git a/src/lib-storage/index/index-rebuild.c b/src/lib-storage/index/index-rebuild.c index b6cac3d226..b1db6b251c 100644 --- a/src/lib-storage/index/index-rebuild.c +++ b/src/lib-storage/index/index-rebuild.c @@ -200,6 +200,11 @@ index_index_rebuild_init(struct mailbox *box, struct mail_index_view *view, const char *index_dir, *backup_path; enum mail_index_open_flags open_flags = MAIL_INDEX_OPEN_FLAG_READONLY; + /* Rebuilding really should be done locked so multiple processes won't + try to rebuild concurrently. Also at the end of rebiuld cache + purging requires this lock. */ + i_assert(mail_index_is_locked(view->index)); + ctx = i_new(struct index_rebuild_context, 1); ctx->box = box; ctx->view = view;