changeset 22322:97f8c7098b30

lib-storage: Fix mailbox_update() to always update mailbox list index. It previously was updating it only if the list index for the mailbox was already fully up-to-date. But that doesn't really matter, because mailbox_update() is supposed to be changing the values regardless. This fixes mailbox_update() to always work with LAYOUT=index. It also fixes mailbox_update() for INBOX to update UIDVALIDITY/GUID.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 10 Jul 2017 16:11:48 +0300
parents 85e328807153
children a0258a81ec84
files src/lib-storage/list/mailbox-list-index-status.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/list/mailbox-list-index-status.c	Mon Jul 10 15:54:07 2017 +0300
+++ b/src/lib-storage/list/mailbox-list-index-status.c	Mon Jul 10 16:11:48 2017 +0300
@@ -712,7 +712,9 @@
 	int ret;
 
 	i_zero(&changes);
-	if ((ret = index_list_open_view(box, TRUE, &list_view, &changes.seq)) <= 0)
+	/* update the mailbox list index even if it has some other pending
+	   changes. */
+	if ((ret = index_list_open_view(box, FALSE, &list_view, &changes.seq)) <= 0)
 		return;
 
 	(void)mailbox_list_index_status(box->list, list_view, changes.seq,