diff --git a/src/engine/strat_engine/serde_structs.rs b/src/engine/strat_engine/serde_structs.rs index 794893cf84..4b1ec8e772 100644 --- a/src/engine/strat_engine/serde_structs.rs +++ b/src/engine/strat_engine/serde_structs.rs @@ -199,6 +199,13 @@ pub struct FilesystemSave { pub fs_size_limit: Option, #[serde(skip_serializing_if = "Option::is_none")] pub origin: Option, + // if self.origin is None, then self.merge must be None + // if self.origin is Some, + // then self.merge is None is equivalent to self.merge is Some(false) + // this definition is fully backward compatible. + // TODO: This data type should no longer be optional in Stratis 4.0 + #[serde(skip_serializing_if = "Option::is_none")] + pub merge: Option, } #[cfg(test)] diff --git a/src/engine/strat_engine/thinpool/filesystem.rs b/src/engine/strat_engine/thinpool/filesystem.rs index ba3748a507..e325958f07 100644 --- a/src/engine/strat_engine/thinpool/filesystem.rs +++ b/src/engine/strat_engine/thinpool/filesystem.rs @@ -390,6 +390,7 @@ impl StratFilesystem { created: self.created.timestamp() as u64, fs_size_limit: self.size_limit, origin: self.origin, + merge: None, } }