Beginning work on better recovery tools

Russ Allbery rra at stanford.edu
Fri Feb 22 00:36:07 UTC 2002


I'm starting work on better recovery tools for tradindexed overview
methods and tradspool spools as part of my day job.  I've just committed
the first results of that work into storage/ov3.  So far, there's nothing
all that incredibly interesting, but the tdx-util program that's built can
dump group.index information for either a single group or the entire file.

I'm at least only a small step away from being able to fix group.index
information, which could help in some cases of renumbering.

I'm breaking up ov3.c into a bunch of separate files and rewriting them to
a degree at the same time while I work on this; the old code was rife with
ifdefs and code repetition, so I was having a very hard time working with
it.  I'll be writing a test suite for the overview methods and then slowly
switching over to the new code as I'm convinced that it's working and
doing the right thing.

The group.c implementation of the group.index handling right now only
knows how to read, not write.  I'm going to pull out the NFSREADER
modifications into a more obvious name (like innconf->overviewmmap) and
support them a bit more thoroughly as part of this.

I don't know yet to what degree this work may generalize to the other
overview methods (not very much at first, but possibly somewhat more down
the road).  I'm starting with tradindexed because it's what we use and
it's the simplest and easiest to dig around inside for me.

We *really* need INN to start assigning unique numbers to each group in
the active file that can then be used by other parts of INN as a unique
key.  I thought that the tradspool tree data structure was bad;
tradindexed is using MD5 hashes of the group names as unique keys.  *sigh*

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list