PATCH inn-2.4.5 : fixes for buffindex storage method
julien at trigofacile.com
Sat Nov 29 11:14:19 UTC 2008
> line 217 -- fixes lost initialization resolves a potential sigfault.
Already present in INN 2.5.0:
static OVBUFF *ovbufftab = NULL;
(not the suggested (OVBUFF*)NULL but it does not matter).
> line 651 -- data placement optimization; the main idea is to place data as tight as possible; current implementation scatters data
> over all unavailable disk space. For our server this fix led to reduction of expireover runtime from 9 to about 2 hours (it seems
> that one hour or so is due to improvements of 2.4.5 version :) ).
A variable is now unused and should be removed:
ULONG mask = 0x80000000;
[from another of your mail]
> The idea of a patch is pretty simple, I'll show it by example.
Thanks a lot for your kind explanations!
They are very clear.
Your patch is now committed to INN 2.5.0. I also updated the man page
(removing the limitation marked as a bug in the buffindexed.conf man page)
and mentioned your change in the NEWS changelog file for INN 2.5.0.
By the way, I also see that buffindexed is more robust with INN 2.5.0:
** Buffindexed using shared memory on ovbuff by Sang-yong Suh.
** During the recent discussions in inn-workers, Alex Kiernan found
** that INN LockRange() is not working for MMAPed file. This explains
** why buffindexed has long outstanding bugs such as "could not MMAP...".
** This version corrects the file locking error by using shared memory.
** The bitfield of each buffer file is loaded into memory, and is shared
** by all programs such as innd, expireover, makehistory, and overchan.
** The locking problem is handled by semaphore.
Have a nice week-end,
« La vérité pure et simple est très rarement pure
et jamais simple. » (Oscar Wilde)
More information about the inn-workers