expire/makehistory and mmap/madvise'd dbz filez

Richard Todd rmtodd at servalan.servalan.com
Sun Dec 3 21:55:41 UTC 2000

In servalan.mailinglist.inn-workers you write:

>Moin moin

>I'm engaged in a discussion on one of the FreeBSD developer lists
>and I thought I'd verify the present source against my memory of how
>INN 1.5 runs, to see if I might be having problems...

>Anyway, the Makefile in the 1.5 expire directory has the following bit,
>that seems to be absent in present source, and I didn't see any
>obvious indication in the makedbz source as to how it's initializing
>the new files, which, if done wrong, could trigger some bugs, at least
>when `expire' is run.

># Build our own version of dbz.o for expire and makehistory, to avoid
># any -DMMAP in DBZCFLAGS - using mmap() for dbz in expire can slow it
># down really bad, and has no benefits as it pertains to the *new* .pag.
>dbz.o:		../lib/dbz.c
>	$(CC) $(CFLAGS) -c ../lib/dbz.c

>Is this functionality in the newest expire, or do I need to go a hackin'?

Whether dbz uses mmap or not on a given invocation is controlled by the 
dbzsetoptions() call; look for that call and setting of the INCORE_MEM 
option in expire/expire.c and expire/makedbz.c.  Neither expire nor
makedbz mmaps the new dbz indices it creates. 

More information about the inn-workers mailing list