ITS#7713 Handle bigger OS page sizes
authorHallvard Furuseth <hallvard@openldap.org>
Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)
committerHallvard Furuseth <hallvard@openldap.org>
Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)
commit9d6e4a916367e85ffdf37b1cb7b5cdb7ac0e15b5
treeea2c2bc61f25d13ab52b0bb0a7cc9bc2f6a04fcf
parent25d370cb2e13a6959e78fa20da750bfc1643d837
ITS#7713 Handle bigger OS page sizes

Use DB page size = min(32k, OS pagesize).  Previous limit was 8k
(MDB_MINKEYS*MDB_PAGESIZE).

Handle DB pagesize < OS pagesize. That's an I/O pessimization,
but transactions remain atomic: Only writing the MDB_meta must
be atomic, and it fits in one OS page.

Don't truncate desired subpage size: Asssign it to a size_t
(mv_size), not an uint16_t (mp_upper).
libraries/liblmdb/mdb.c