From: Timo Sirainen Date: Wed, 23 Nov 2016 16:43:17 +0000 (+0200) Subject: lib-storage: Fix rotation of dovecot.list.index.log X-Git-Tag: 2.2.27~66 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=903a3efb99ea70b7fc087b1b6d3f138e02716535;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Fix rotation of dovecot.list.index.log After b9da8540e665138b3cad0b637c08c0ab7d7a7eeb the tail offsets weren't being updated anymore when mail_index_sync_next() wasn't used to skip over all the data. Mailbox list index wasn't doing this, and so the log was never rotated since tail_offset was never equal to head_offset. --- diff --git a/src/lib-storage/list/mailbox-list-index-status.c b/src/lib-storage/list/mailbox-list-index-status.c index 82f96433f0..c67963c9f2 100644 --- a/src/lib-storage/list/mailbox-list-index-status.c +++ b/src/lib-storage/list/mailbox-list-index-status.c @@ -686,6 +686,8 @@ static int index_list_update_mailbox(struct mailbox *box) ilist->updating_status = FALSE; } + struct mail_index_sync_rec sync_rec; + while (mail_index_sync_next(list_sync_ctx, &sync_rec)) ; if (mail_index_sync_commit(&list_sync_ctx) < 0) { mailbox_set_index_error(box); return -1; diff --git a/src/lib-storage/list/mailbox-list-index-sync.c b/src/lib-storage/list/mailbox-list-index-sync.c index 8bee86cd31..50260e35f0 100644 --- a/src/lib-storage/list/mailbox-list-index-sync.c +++ b/src/lib-storage/list/mailbox-list-index-sync.c @@ -419,6 +419,8 @@ int mailbox_list_index_sync_end(struct mailbox_list_index_sync_context **_sync_c mail_index_view_close(&sync_ctx->view); if (success) { + struct mail_index_sync_rec sync_rec; + while (mail_index_sync_next(sync_ctx->index_sync_ctx, &sync_rec)) ; if ((ret = mail_index_sync_commit(&sync_ctx->index_sync_ctx)) < 0) mailbox_list_index_set_index_error(sync_ctx->list); } else {