changeset 14913:9cb64709dd8c

mdbox: Don't try to undelete any mailboxes in storage rebuild to avoid assert-crashes.
author Timo Sirainen <tss@iki.fi>
date Fri, 22 Feb 2013 09:43:59 +0200
parents 8ec52854e823
children b91e1b94af21
files src/lib-storage/mail-storage.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-storage.c	Fri Feb 22 07:37:18 2013 +0200
+++ b/src/lib-storage/mail-storage.c	Fri Feb 22 09:43:59 2013 +0200
@@ -928,6 +928,13 @@
 {
 	time_t mtime;
 
+	if ((box->flags & MAILBOX_FLAG_READONLY) != 0) {
+		/* most importantly we don't do this because we want to avoid
+		   a loop: mdbox storage rebuild -> mailbox_open() ->
+		   mailbox_mark_index_deleted() -> mailbox_sync() ->
+		   mdbox storage rebuild. */
+		return FALSE;
+	}
 	if (mail_index_get_modification_time(box->index, &mtime) < 0)
 		return FALSE;
 	if (mtime + MAILBOX_DELETE_RETRY_SECS > time(NULL))