aboutsummaryrefslogtreecommitdiff
path: root/src/model/snapshot.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/model/snapshot.rs')
-rw-r--r--src/model/snapshot.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/model/snapshot.rs b/src/model/snapshot.rs
index 36f9ec7d..8e8995f9 100644
--- a/src/model/snapshot.rs
+++ b/src/model/snapshot.rs
@@ -20,7 +20,7 @@ static SNAPSHOT_MUTEX: Mutex<()> = Mutex::new(());
// ================ snapshotting logic =====================
-/// Run snashot_metadata in a blocking thread and async await on it
+/// Run snapshot_metadata in a blocking thread and async await on it
pub async fn async_snapshot_metadata(garage: &Arc<Garage>) -> Result<(), Error> {
let garage = garage.clone();
let worker = tokio::task::spawn_blocking(move || snapshot_metadata(&garage));
@@ -41,8 +41,14 @@ pub fn snapshot_metadata(garage: &Garage) -> Result<(), Error> {
}
};
- let mut snapshots_dir = garage.config.metadata_dir.clone();
- snapshots_dir.push("snapshots");
+ let snapshots_dir = match &garage.config.metadata_snapshots_dir {
+ Some(d) => d.clone(),
+ None => {
+ let mut default_snapshots_dir = garage.config.metadata_dir.clone();
+ default_snapshots_dir.push("snapshots");
+ default_snapshots_dir
+ }
+ };
fs::create_dir_all(&snapshots_dir)?;
let mut new_path = snapshots_dir.clone();