lock method used for buffindexed is now changed

Russ Allbery rra at stanford.edu
Mon Jan 12 07:03:10 UTC 2004


Please send mail to the mailing list, not to me personally.  Thanks.

Przemys=B3aw Maciuszko <sal at agora.pl> writes:

> Uhm. Something is broken in CURRENT :(
> I've compiled and installed newest (20040112) and I get the following err=
or
> after starting INN (I've just rebuilded overview with previous 20040107
> version that I've got installed for few days):

> Jan 12 07:43:49 inews innd: [ID 886268 news.error] buffindexed: OV_HDR_PA=
GESIZE (4096) is not a multiple of pagesize (8192)
> Jan 12 07:43:49 inews innd: [ID 702911 news.crit] SERVER cant open overvi=
ew method

There's the following block in buffindexed now:

/*
** The preferred value of shared memory version of buffindexed.
**
** OV_HDR_PAGESIZE      4096
** OV_BEFOREBITF        256
**
** Turing on the above change will result no upward compatibility.
** The benifit is saving (8192 - 256) bytes per buffindexed file.
** Also it will save additional 16384 byets depending on the round-off
** effect of the buffer size.  BTW, I am not sure if the value 4096
** is applicable to OSes other than i386 Linux.
*/
=20
#ifndef  KEEP_COMPATIBILTY
#define OV_HDR_PAGESIZE 4096
#define OV_BEFOREBITF   256
#else
#define OV_HDR_PAGESIZE 16384
#define OV_BEFOREBITF   (1 * OV_BLOCKSIZE)
#endif

Nothing seems to set KEEP_COMPATIBILITY anywhere.

One of the advantages of 16384 is that it's higher than the page size of
every known operating system, at least right now.  The comment seems to
indicate that this only saves a few KB of space; is it really worth it?
Particularly if this actually does break compatibility?  (I'm not quite
sure what sort of compatibility problem it would cause.)

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

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list