From 0dd16e6b2523ad5923c53552657a82ed20d3ff5c Mon Sep 17 00:00:00 2001 From: Silenio Quarti Date: Thu, 15 Aug 2024 09:25:37 -0400 Subject: [PATCH] agent: Handle EINVAL error when umounting container rootfs Container/Sandbox clean up should not fail if root FS is not mounted. This PR handles EINVAL errors when umount2 is called. Fixes: #10166 Signed-off-by: Silenio Quarti --- src/agent/rustjail/src/container.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/agent/rustjail/src/container.rs b/src/agent/rustjail/src/container.rs index d211381b33..a8334fed92 100644 --- a/src/agent/rustjail/src/container.rs +++ b/src/agent/rustjail/src/container.rs @@ -1306,7 +1306,14 @@ impl BaseContainer for LinuxContainer { .to_string() .as_str(), MntFlags::MNT_DETACH, - )?; + ) + .or_else(|e| { + if e.ne(&nix::Error::EINVAL) { + return Err(anyhow!(e)); + } + warn!(self.logger, "rootfs not mounted"); + Ok(()) + })?; fs::remove_dir_all(&self.root)?; let cgm = self.cgroup_manager.as_mut();