when container had no layer data, cleanupContainer crashed
Signed-off-by: mYmNeo <thomassong@tencent.com>
This commit is contained in:
parent
ce87de21a7
commit
0bfc9c8de0
1 changed files with 8 additions and 4 deletions
|
@ -123,10 +123,14 @@ func (daemon *Daemon) cleanupContainer(container *container.Container, forceRemo
|
||||||
return fmt.Errorf("Unable to remove filesystem for %v: %v", container.ID, err)
|
return fmt.Errorf("Unable to remove filesystem for %v: %v", container.ID, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
metadata, err := daemon.layerStore.ReleaseRWLayer(container.RWLayer)
|
// When container creation fails and `RWLayer` has not been created yet, we
|
||||||
layer.LogReleaseMetadata(metadata)
|
// do not call `ReleaseRWLayer`
|
||||||
if err != nil && err != layer.ErrMountDoesNotExist {
|
if container.RWLayer != nil {
|
||||||
return fmt.Errorf("Driver %s failed to remove root filesystem %s: %s", daemon.GraphDriverName(), container.ID, err)
|
metadata, err := daemon.layerStore.ReleaseRWLayer(container.RWLayer)
|
||||||
|
layer.LogReleaseMetadata(metadata)
|
||||||
|
if err != nil && err != layer.ErrMountDoesNotExist {
|
||||||
|
return fmt.Errorf("Driver %s failed to remove root filesystem %s: %s", daemon.GraphDriverName(), container.ID, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in a new issue