Reconstruct rewrite
Bron Gondwana
brong at fastmail.fm
Sat Dec 29 01:50:15 EST 2007
On Wed, Dec 26, 2007 at 07:31:32PM +0000, David Carter wrote:
> On Sun, 23 Dec 2007, David Carter wrote:
>
>> Rather more fundamental: "reconstruct -k" copies expunge.index records
>> verbatim, without making any effort to update offsets into cyrus.cache.
>> These offsets are used by both "cyr_expire -X" and "unexpunge".
>>
>> [...]
>>
>> I know how I plan to fix this problem: reconstruct needs to rebuild
>> cyrus.index and expunge in parallel, rather like sync_combine_commit().
>> However this will be a rewrite of reconstruct.c, not a one line fix.
>
> Here is a replacement reconstruct:
>
> http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/patches/2.3cvs/reconstruct-rewrite-expunge.patch
I'm assuming this contains all the other fixes that have been floating
around. I've applied it to a local copy of CVS, then just copied out
the reconstruct.c file into a vanilla 2.3.11 and generated a diff to go
in my quilt tree. It's here:
http://cyrus.brong.fastmail.fm/patches/dcarter-reconstruct-rewrite-2.3.11.diff
Now I need to rewrite my auditlog patch on top of it (plenty of hooks
into reconstruct, because we want to log when reconstruct changes
anything.
Bron.
More information about the Cyrus-devel
mailing list