restore deferred cleanup in rootfs.init

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
This commit is contained in:
Daniel Nephin 2017-11-28 13:14:39 -05:00
parent ee04cfa3f9
commit a05e5fd77a
2 changed files with 8 additions and 1 deletions

View File

@ -250,7 +250,6 @@ func (s *gcScheduler) run(ctx context.Context) {
schedC, nextCollection = schedule(interval) schedC, nextCollection = schedule(interval)
continue continue
} }
break
case e := <-s.eventC: case e := <-s.eventC:
if lastCollection != nil && lastCollection.After(e.ts) { if lastCollection != nil && lastCollection.After(e.ts) {
continue continue

View File

@ -70,6 +70,14 @@ func createInitLayer(ctx context.Context, parent, initName string, initFn func(s
return "", err return "", err
} }
defer func() {
if err != nil {
if rerr := snapshotter.Remove(ctx, td); rerr != nil {
log.G(ctx).Errorf("Failed to remove snapshot %s: %v", td, rerr)
}
}
}()
if err = mounter.Mount(td, mounts...); err != nil { if err = mounter.Mount(td, mounts...); err != nil {
return "", err return "", err
} }