diff --git a/src/engine/strat_engine/pool.rs b/src/engine/strat_engine/pool.rs index 4a8d1ee930a..be9d8bf421b 100644 --- a/src/engine/strat_engine/pool.rs +++ b/src/engine/strat_engine/pool.rs @@ -1011,6 +1011,12 @@ impl Pool for StratPool { } } + for (_, _, fs) in self.thin_pool.filesystems_mut() { + if fs.origin().map(|x| removed.contains(&x)).unwrap_or(false) { + fs.unset_origin(); + } + } + Ok(SetDeleteAction::new(removed)) } diff --git a/src/engine/strat_engine/thinpool/filesystem.rs b/src/engine/strat_engine/thinpool/filesystem.rs index fc9be3602d9..688f5ccd577 100644 --- a/src/engine/strat_engine/thinpool/filesystem.rs +++ b/src/engine/strat_engine/thinpool/filesystem.rs @@ -426,6 +426,10 @@ impl StratFilesystem { pub fn thindev_size(&self) -> Sectors { self.thin_dev.size() } + + pub fn unset_origin(&mut self) { + self.origin = None; + } } impl Filesystem for StratFilesystem {