summaryrefslogtreecommitdiffhomepage
path: root/runsc/container/container.go
diff options
context:
space:
mode:
Diffstat (limited to 'runsc/container/container.go')
-rw-r--r--runsc/container/container.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/runsc/container/container.go b/runsc/container/container.go
index 16af66d3e..725b4d347 100644
--- a/runsc/container/container.go
+++ b/runsc/container/container.go
@@ -510,10 +510,6 @@ func (c *Container) Destroy() error {
executeHooksBestEffort(c.Spec.Hooks.Poststop, c.State())
}
- if err := os.RemoveAll(c.Root); err != nil {
- log.Warningf("Failed to delete container root directory %q, err: %v", c.Root, err)
- }
-
// If we are the first container in the sandbox, take the sandbox down
// as well.
if c.Sandbox != nil && c.Sandbox.IsRootContainer(c.ID) {
@@ -532,6 +528,14 @@ func (c *Container) Destroy() error {
}
}
+ if err := destroyFS(c.Spec); err != nil {
+ return fmt.Errorf("error destroying container fs: %v", err)
+ }
+
+ if err := os.RemoveAll(c.Root); err != nil && !os.IsNotExist(err) {
+ return fmt.Errorf("error deleting container root directory %q: %v", c.Root, err)
+ }
+
c.Status = Stopped
return nil
}