On 2015-02-26 16:51, Samir Aguiar wrote:
Proposed solution:
- Patch the mailbox_close() function to reload the index before trying to clean the files (and merge the current index changes with the ones found) - Because the above would still be skipped when shutting down Cyrus: expand cyr_expire to find mailboxes with the deleted flag set (by looping through the filesystem, and not by using the database) and try to remove them. This could
then be run periodically by administrators.

What do you think?


Please do not take my word for it, but I think Cyrus IMAP 2.5 introduces a state flag of MBTYPE_DELETE for mailboxes [1] in the actual mboxlist, so the related functions would still be able to find it after the facts of the case.

IIRC, I ran in to this (particular MBTYPE) because it purges ACLs, and rendered (discrete) murder topologies unable to ctl_mboxlist -m (as well as made ctl_mboxlist -d segfault).

I think the intention is exactly what you describe is the scenario, but if it is I'm not certain it also properly addresses it.

Kind regards,

Jeroen van Meeuwen

[1] https://git.cyrus.foundation/diffusion/I/browse/master/imap/mboxlist.h;4571c101e542f169cfd3b70347b47eaea8f2deea$70

--
Systems Architect, Kolab Systems AG

e: vanmeeuwen at kolabsys.com
m: +41 79 951 9003
w: https://kolabsystems.com

pgp: 9342 BF08

Reply via email to