cyrreconstruct and resurrected deleted/moved

Steinar Bang sb at dod.no
Tue Feb 14 04:25:37 EST 2006


>>>>> Sebastian Hagedorn <Hagedorn at uni-koeln.de>:

>> That particular folder had slowed down quite a bit, so during
>> Christmas I decided to clean it up.  From my imap client Gnus I
>> deleted (or believed I deleted) everything I didn't want.  Then I
>> moved the rest to the user.myuser.sub.arkiv folder.

> I bet your client hides deleted messages, but doesn't actually
> expunge the folder.  There is no "move" in IMAP. It's copy+delete,
> where delete only sets the "deleted" flag. You need to expunge the
> folder to actually delete the messages.

Thanx for the info.  It looks like I may have encountered a bug in
Gnus:
	http://article.gmane.org/gmane.emacs.gnus.general/61691

Other have seen the same behaviour.  I'm running a CVS version of
Gnus, so I guess I deserve what I get...:-)

>> After the cyrreconstruct those articles were back.

> I guess the flags were lost, so all previously deleted messages were
> shown by your client.

Yup.  That sounds right.

[snip!]
>>> From the looks of it, these duplicates are hardlinked.

> That's a little suprising, but I just verified that it actually
> happens when you copy a message. I wasn't aware of that :-)

>> So my questions are:
>> Is there a way short of redoing the Christmas cleanup from an email
>> client to get back to the state before the massive delete/move?
>> Ie. what if I wrote a perl script that unlinked everything that had
>> more than one hardlink in /var/spool/cyrus/mail/s/user/myuser/sub/
>> and then did cyrreconstruct?

> That might work, but you're on your own with it ...

I have been pondering where to go with this.  Two possibilities:
 - Start etherealing to see if an expunge is sent, and upgrade, or
   modify Gnus until this happens.  The problem here is that I'm only
   running IMAPS on this server
 - Actually remove all hardlinks from the old folder, and do
   cyrreconstruct to see what happens

As you said, the second alternative might work, but I'm on my
own...:-) But what I've recently done, is to use rsync to do a backup
to a different disk, which means that I might try this, and roll back
if it fails.



More information about the Info-cyrus mailing list