]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
take lmdb change from 5d02265785d3767ffb954b213ba698c3b73d5f1c
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 20 Nov 2019 13:08:42 +0000 (14:08 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 20 Nov 2019 13:08:42 +0000 (14:08 +0100)
ext/lmdb-safe/lmdb-safe.cc

index 7397cd3d44f9413b56bf61361b1cf1c8eae2a578..f4874261f62884eb5f60d6a09e9eb70a6d0206be 100644 (file)
@@ -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(),