Buffindexed page size limited?
Russ Allbery
eagle at eyrie.org
Sat Dec 30 00:55:37 UTC 2017
Julien ÉLIE <julien at trigofacile.com> writes:
> On Fedora 18 ppc64, the overview/api.t test fails with:
> # buffindexed
> buffindexed: OV_HDR_PAGESIZE (16384) is not a multiple of pagesize (65536)
> Opening the overview database failed, cannot continue
> In storage/buffindexed/buffindexed.c:
> #define OV_HDR_PAGESIZE 16384
> if ((pagesize > OV_HDR_PAGESIZE) || (OV_HDR_PAGESIZE % pagesize)) {
> warn("buffindexed: OV_HDR_PAGESIZE (%d) is not a multiple of pagesize (%ld)", OV_HDR_PAGESIZE, pagesize);
> return false;
> }
> and config.h has:
> /* Define to 1 if you have the `getpagesize' function. */
> #define HAVE_GETPAGESIZE 1
> So I wonder whether there is a reason for having set OV_HDR_PAGESIZE
> to 16384 in the buffindexed source code.
> Couldn't we just set OV_HDR_PAGESIZE to pagesize if pagesize > 16384?
> This way, it would still work as it used to for existing working systems,
> and it would also work for systems having pagesize > 16384.
Very belatedly (more than four years later), I took a look at this and
concur with this evaluation. I moved the code around a bit to adapt the
page size to the the local system page size, hopefully in a way that works
properly.
--
Russ Allbery (eagle at eyrie.org) <http://www.eyrie.org/~eagle/>
More information about the inn-workers
mailing list