cyrus.expunge/cyrus.cache mistmatch on replica

Bron Gondwana brong at
Mon Sep 24 03:29:22 EDT 2007

On Mon, 24 Sep 2007 08:20:50 +0100 (BST), "David Carter" <dpc22 at> said:
> On Mon, 24 Sep 2007, Bron Gondwana wrote:
> > Do you guys suggest anything?  Ideas I've come up with include:
> Ho hum. My original "two phase expunge" code had separate expunge.index 
> and expunge.cache files, which keeps cache entries for expunged messages 
> well out of the way. I think this is probably the simplest solution.

Any reason to actually keep them though?  It's not as if unexpunge is
common enough to be worth optimising, and they're all auto-generated
content that we can recreate from the message if needed.

Bron ( besides, if I see anything like this copy and pasted to another
       place in the code I will _cry_ )

 path = (mailbox.mpath &&
      (config_metapartition_files &
  mailbox.mpath : mailbox.path;
    strlcpy(fnamebuf, path, sizeof(fnamebuf));
    strlcat(fnamebuf, FNAME_CACHE, sizeof(fnamebuf));
    strlcat(fnamebuf, ".NEW", sizeof(fnamebuf));
    newcache_fd = open(fnamebuf, O_RDWR|O_TRUNC|O_CREAT, 0666);
    if (newcache_fd == -1) {
  return IMAP_IOERROR;
  Bron Gondwana
  brong at

More information about the Cyrus-devel mailing list