summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-02-16 15:45:44 +0100
committerDavid Lönnhager <david.l@mullvad.net>2022-02-18 09:44:03 +0100
commit3936923d97165b48b418a0d4e630a498e2b64739 (patch)
tree8d3332a3b94b98e738a064399bc7d253ae0b2735
parente1d075ee97f8045d8ef2345eb303d7f36f5e562d (diff)
downloadmullvadvpn-3936923d97165b48b418a0d4e630a498e2b64739.tar.xz
mullvadvpn-3936923d97165b48b418a0d4e630a498e2b64739.zip
Don't pointlessly write settings migration result to disk
-rw-r--r--mullvad-daemon/src/migrations/mod.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/mullvad-daemon/src/migrations/mod.rs b/mullvad-daemon/src/migrations/mod.rs
index 73dc0f857b..9a28c41266 100644
--- a/mullvad-daemon/src/migrations/mod.rs
+++ b/mullvad-daemon/src/migrations/mod.rs
@@ -108,6 +108,8 @@ pub async fn migrate_all(cache_dir: &Path, settings_dir: &Path) -> Result<()> {
return Err(Error::NoMatchingVersion);
}
+ let old_settings = settings.clone();
+
v1::migrate(&mut settings)?;
v2::migrate(&mut settings)?;
v3::migrate(&mut settings)?;
@@ -117,6 +119,11 @@ pub async fn migrate_all(cache_dir: &Path, settings_dir: &Path) -> Result<()> {
account_history::migrate_location(cache_dir, settings_dir).await;
account_history::migrate_formats(settings_dir, &mut settings).await?;
+ if settings == old_settings {
+ // Nothing changed
+ return Ok(());
+ }
+
let buffer = serde_json::to_string_pretty(&settings).map_err(Error::SerializeError)?;
let mut options = fs::OpenOptions::new();