On 12 Jul 2007, at 16:32, David Carter wrote:
rename() isn't quite as safe as linking each message in turn and then
removing the source mailbox: if the power fails after the rename() but
before the mboxlist is updated then you have a missing mailbox.
However:
1) Mailbox renames are rare
Accept on the first of the month.
2) Fast rename completes in a fraction of a second, regardless of the
size of the mailbox
3) The sys admin can always fix the problem by hand (and it would
be possible to log all renames to make it easier to spot problems).
Perhaps we should add the new name to the mboxlist first, and then
remove the old name. That way, even in a power loss case, the user
would have access to their mail, either with the old name or the new
name, depending on whether the rename succeeded.
delayed_delete.patch
====================
Companion to deleted expunge.
Translate IMAP DELETE to a rename. The mailbox ends up in a
nominated hierarchy (but the same partition) which is only visible
to admin users. cyr_expire gains a -D option to match -X for
delayed expunge.
Benefits _substantially_ from fast_rename above.
How does it compare to this:
https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=2871
UM has been running this version of delayed delete in production for
some time.
:wes