From: Peter van Dijk Date: Wed, 20 Nov 2019 13:08:42 +0000 (+0100) Subject: take lmdb change from 5d02265785d3767ffb954b213ba698c3b73d5f1c X-Git-Tag: auth-4.3.0-alpha1~38^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdfc41673e7addebadcdf5d6d1659ba1d3084fa2;p=thirdparty%2Fpdns.git take lmdb change from 5d02265785d3767ffb954b213ba698c3b73d5f1c --- diff --git a/ext/lmdb-safe/lmdb-safe.cc b/ext/lmdb-safe/lmdb-safe.cc index 7397cd3d44..f4874261f6 100644 --- a/ext/lmdb-safe/lmdb-safe.cc +++ b/ext/lmdb-safe/lmdb-safe.cc @@ -26,8 +26,10 @@ MDBDbi::MDBDbi(MDB_env* env, MDB_txn* txn, const string_view dbname, int flags) MDBEnv::MDBEnv(const char* fname, int flags, int mode) { - mdb_env_create(&d_env); - if(mdb_env_set_mapsize(d_env, 16ULL*4096*244140ULL)) // 4GB + mdb_env_create(&d_env); + uint64_t mapsizeMB = (sizeof(long)==4) ? 100 : 16000; + // on 32 bit platforms, there is just no room for more + if(mdb_env_set_mapsize(d_env, mapsizeMB * 1048576)) throw std::runtime_error("setting map size"); /* Various other options may also need to be set before opening the handle, e.g. mdb_env_set_mapsize(), mdb_env_set_maxreaders(), mdb_env_set_maxdbs(),