From 0c0dedd73ce9bafe7c8af11fed4441ea9a726b62 Mon Sep 17 00:00:00 2001 From: rajasec Date: Wed, 19 Aug 2015 15:00:57 +0530 Subject: [PATCH] Restore container cleanup Signed-off-by: rajasec --- restore.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/restore.go b/restore.go index a96ff3298..ecc078ab4 100644 --- a/restore.go +++ b/restore.go @@ -4,6 +4,7 @@ package main import ( "os" + "path/filepath" "github.com/Sirupsen/logrus" "github.com/codegangsta/cli" @@ -89,6 +90,16 @@ func restoreContainer(context *cli.Context, spec *specs.LinuxSpec, config *confi handler := newSignalHandler(tty) defer handler.Close() if err := container.Restore(process, options); err != nil { + cstatus, cerr := container.Status() + if cerr != nil { + logrus.Error(cerr) + } + if cstatus == libcontainer.Destroyed { + dest := filepath.Join(context.GlobalString("root"), context.GlobalString("id")) + if errVal := os.RemoveAll(dest); errVal != nil { + logrus.Error(errVal) + } + } return -1, err } return handler.forward(process)