dbox_rec = data;
if (dbox_rec == NULL || dbox_rec->map_uid == 0) {
mail_index_lookup_uid(view, seq, &uid);
- mailbox_set_critical(&mbox->box,
- "mdbox: map uid lost for uid %u", uid);
- mdbox_storage_set_corrupted(mbox->storage);
+ mdbox_set_mailbox_corrupted(&mbox->box, t_strdup_printf(
+ "map uid lost for uid %u", uid));
return -1;
}
cur_map_uid_validity = mdbox_map_get_uid_validity(mbox->storage->map);
if (cur_map_uid_validity != mbox->map_uid_validity) {
- mailbox_set_critical(&mbox->box,
- "mdbox: map uidvalidity mismatch (%u vs %u)",
- mbox->map_uid_validity, cur_map_uid_validity);
- mdbox_storage_set_corrupted(mbox->storage);
+ mdbox_set_mailbox_corrupted(&mbox->box, t_strdup_printf(
+ "map uidvalidity mismatch (%u vs %u)",
+ mbox->map_uid_validity, cur_map_uid_validity));
return -1;
}
*map_uid_r = dbox_rec->map_uid;
&data, &data_size);
if (data_size < MDBOX_INDEX_HEADER_MIN_SIZE &&
(!mbox->creating || data_size != 0)) {
- mailbox_set_critical(&mbox->box,
- "mdbox: Invalid dbox header size: %zu",
- data_size);
- mdbox_storage_set_corrupted(mbox->storage);
+ mdbox_set_mailbox_corrupted(&mbox->box, t_strdup_printf(
+ "Invalid dbox header size: %zu", data_size));
return -1;
}
i_zero(hdr);
memcmp(data, guid_128, GUID_128_SIZE) == 0)
return 1;
- mailbox_set_critical(&ctx->mbox->box,
+ mdbox_set_mailbox_corrupted(&ctx->mbox->box, t_strdup_printf(
"Expunged GUID mismatch for UID %u: %s vs %s",
- uid, guid_128_to_string(data), guid_128_to_string(guid_128));
- mdbox_storage_set_corrupted(ctx->mbox->storage);
+ uid, guid_128_to_string(data), guid_128_to_string(guid_128)));
return -1;
}
ret = index_storage_expunged_sync_begin(&mbox->box, &ctx->index_sync_ctx,
&ctx->sync_view, &ctx->trans, sync_flags);
- if (mail_index_reset_fscked(mbox->box.index))
- mdbox_storage_set_corrupted(mbox->storage);
+ if (mail_index_reset_fscked(mbox->box.index)) {
+ mdbox_set_mailbox_corrupted(&mbox->box,
+ "dovecot.index was fsck'd (mailbox sync)");
+ }
if (ret <= 0)
return ret; /* error / nothing to do */
int ret = 0;
if (mail_index_reset_fscked(box->index))
- mdbox_storage_set_corrupted(mbox->storage);
+ mdbox_set_mailbox_corrupted(box, "Mailbox index was fsck'd");
+
if (index_mailbox_want_full_sync(&mbox->box, flags) ||
mbox->storage->corrupted_reason != NULL) {
if ((flags & MAILBOX_SYNC_FLAG_FORCE_RESYNC) != 0)