diff options
author | Alex Auvolat <alex@adnab.me> | 2022-06-10 10:32:58 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-06-10 10:32:58 +0200 |
commit | c6c4f007f0e6610fcfcd03126c63f85c8daee9a5 (patch) | |
tree | 41020fbe04013d9ed0503b2e2754340410934b37 | |
parent | 1c2e5d9c369057676fdbd931108798f6b05f00dc (diff) | |
parent | 138e13071be37d873344cd03e316c87ff8057ea0 (diff) | |
download | garage-c6c4f007f0e6610fcfcd03126c63f85c8daee9a5.tar.gz garage-c6c4f007f0e6610fcfcd03126c63f85c8daee9a5.zip |
Merge branch 'main' into counters
-rw-r--r-- | src/db/bin/convert.rs | 9 | ||||
-rw-r--r-- | src/db/lmdb_adapter.rs | 14 | ||||
-rw-r--r-- | src/model/garage.rs | 8 |
3 files changed, 16 insertions, 15 deletions
diff --git a/src/db/bin/convert.rs b/src/db/bin/convert.rs index 9e45e61f..bbde2048 100644 --- a/src/db/bin/convert.rs +++ b/src/db/bin/convert.rs @@ -55,14 +55,7 @@ fn open_db(path: PathBuf, engine: String) -> Result<Db> { Error(format!("Unable to create LMDB data directory: {}", e).into()) })?; - let map_size = if u32::MAX as usize == usize::MAX { - eprintln!( - "LMDB is not recommended on 32-bit systems, database size will be limited" - ); - 1usize << 30 // 1GB for 32-bit systems - } else { - 1usize << 40 // 1TB for 64-bit systems - }; + let map_size = lmdb_adapter::recommended_map_size(); let db = lmdb_adapter::heed::EnvOpenOptions::new() .max_dbs(100) diff --git a/src/db/lmdb_adapter.rs b/src/db/lmdb_adapter.rs index 30865829..fdb254c6 100644 --- a/src/db/lmdb_adapter.rs +++ b/src/db/lmdb_adapter.rs @@ -335,3 +335,17 @@ where } } } + +// ---- + +#[cfg(target_pointer_width = "64")] +pub fn recommended_map_size() -> usize { + 1usize << 40 +} + +#[cfg(target_pointer_width = "32")] +pub fn recommended_map_size() -> usize { + use log::warn; + warn!("LMDB is not recommended on 32-bit systems, database size will be limited"); + 1usize << 30 +} diff --git a/src/model/garage.rs b/src/model/garage.rs index 06ef25d1..15769a17 100644 --- a/src/model/garage.rs +++ b/src/model/garage.rs @@ -102,13 +102,7 @@ impl Garage { db_path.push("db.lmdb"); info!("Opening LMDB database at: {}", db_path.display()); std::fs::create_dir_all(&db_path).expect("Unable to create LMDB data directory"); - let map_size = - if u32::MAX as usize == usize::MAX { - warn!("LMDB is not recommended on 32-bit systems, database size will be limited"); - 1usize << 30 // 1GB for 32-bit systems - } else { - 1usize << 40 // 1TB for 64-bit systems - }; + let map_size = garage_db::lmdb_adapter::recommended_map_size(); let db = db::lmdb_adapter::heed::EnvOpenOptions::new() .max_dbs(100) |