aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-06-10 10:32:58 +0200
committerAlex Auvolat <alex@adnab.me>2022-06-10 10:32:58 +0200
commitc6c4f007f0e6610fcfcd03126c63f85c8daee9a5 (patch)
tree41020fbe04013d9ed0503b2e2754340410934b37
parent1c2e5d9c369057676fdbd931108798f6b05f00dc (diff)
parent138e13071be37d873344cd03e316c87ff8057ea0 (diff)
downloadgarage-c6c4f007f0e6610fcfcd03126c63f85c8daee9a5.tar.gz
garage-c6c4f007f0e6610fcfcd03126c63f85c8daee9a5.zip
Merge branch 'main' into counters
-rw-r--r--src/db/bin/convert.rs9
-rw-r--r--src/db/lmdb_adapter.rs14
-rw-r--r--src/model/garage.rs8
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)