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