On Fri, 2012-05-18 at 23:44 +0200, Patrick Westenberg wrote: > right now my index directory is part of the users home directory: > mail_home = /var/mail/%d/%n > mail_location = mdbox:~/mdbox > > I want the indexes to be stored in a different location: > mail_home = /var/mail/%d/%n > mail_location = mdbox:~/mdbox:INDEX=/var/indexes/%d/%n > > If I just switch this setting and reload the configuration, no e-mails > are shown to the user.
You must not lose indexes with mdbox or you'll lose message flags and mails may also end up going to wrong mailboxes. > After restoring the whole maildir I deleted all dovecot.index.*-files > from that user and starting dovecot with the new index directory > setting, I got the following error after connecting. > I expected the index files to be regenerated but I got an error: > > May 18 23:11:12 imap(t...@example.com): Panic: file mail-storage.c: line > 787 (mailbox_check_mismatching_separators): assertion fail > ed: (strncmp(vname, ns->prefix, ns->prefix_len-1) == 0) This is a little bit strange bug that is also happening to another guy. I haven't been able to reproduce it. > How can I change the index directory without losing mails? The easiest and the most reliable solution would be to just move the index files to their new location while Dovecot is stopped.