We recently had an I/O failure with our XRaid that appears to have
corrupted one of our user's Cyrus mailboxes. This is causing
various mail clients (Mail.app, Horde/IMP, Prayer) to behave oddly
when pulling the IMAP headers. Looking in his mail folder,
cyrus.header is missing completely. I restored this from backup
and ran reconstruct as the cyrus user, but it has no effect.
Ok, I realize why it wasn't doing *anything* before. I was running
reconstruct from the Cyrus "root", so that when I referred to user/
username, it apparently interpreted that as the path instead of the
mailbox parameter. If I run the command from anywhere else, I see
that it does reconstruct the mailbox.
xserve:/Volumes/XServe-RAID-0/Mail/user/username cyrus$ /usr/bin/
cyrus/bin/reconstruct user/username
user/username
xserve:/Volumes/XServe-RAID-0/Mail/user/username cyrus$ ls -l cyrus.*
-rw------- 1 cyrus mail 272732 1 Sep 17:31 cyrus.cache
-rw------- 1 cyrus mail 229 1 Sep 17:31 cyrus.header
-rw------- 1 cyrus mail 13396 1 Sep 17:31 cyrus.index
However, the mailbox is now in worse shape than ever. If I browse
the messages in IMP, only 2 out of 10 pages of mail (20 mails per
view) will view. If I restore the original cyrus.* files, only 1 of
those pages is empty (the one with the un-indexed(?) email).
--
Jason Dixon
Manager, IT Services
Raba Technologies