On Wed, 18 Jan 2006, Scott Russell wrote:
With Cyrus IMAPd 2.3.1 and expunge_mode = delay set I noticed that when
deleting a folder the folder, and any subfolders or messages in the
folder or subfolders, are removed immediately from the filesystem. Is
this the expected behavior?
Yes. I understand that Fastmail sponsored development of "delayed expunge"
as a performance enhancement (unlink() is often slow...). unexpunge is
just a convenience side effect of leaving the messages on disk.
I think most likely the patch is working as designed but I'm wondering
if it would be a good idea to extend the delayed expunge behavior to
include folders as well as messages.
I wrote a "two phase expunge" system a few years back which I believe
was the original inspiration for "delayed expunge":
http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/two_phase_expunge.html
This does a number of things that delayed expunge does not currently do:
. Quietly converts DELETE into special form of RENAME
. User access to expunged messages and deleted mailboxes through three
magic hierachies .EXPUNGED/, .DELETED/ and .EXPUNGED/.DELETED
. The quota system is extended to record expunged/deleted disk use for
each quotaroot. This means that we can put volume as well as time
limits on the expunged data stored in each quota root. Old expunged
messages and deleted mailboxes are automatically expired when a
threshold is reached (high and low watermarks, implemented as a global
value plus per quotaroot override)
This was a fairly invasive patch (particularly the user access to
.EXPUNGED/ etc, which in hindsight was probably a waste of effort). At
some point I hope to have time to write a cleaner patch against 2.3.X
--
David Carter Email: [EMAIL PROTECTED]
University Computing Service, Phone: (01223) 334502
New Museums Site, Pembroke Street, Fax: (01223) 334679
Cambridge UK. CB2 3QH.
----
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html