1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Image: unmount device before removing it on failures

If we don't do this the remove will fail due to EBUSY
This commit is contained in:
Alexander Larsson 2013-09-19 14:59:27 +02:00 committed by Victor Vieux
parent ed65815613
commit 009d0f9d81

View file

@ -414,6 +414,7 @@ func (image *Image) ensureImageDevice(devices DeviceSet) error {
err = ioutil.WriteFile(path.Join(mountDir, ".docker-id"), []byte(image.ID), 0600)
if err != nil {
_ = devices.UnmountDevice(image.ID, mountDir)
_ = devices.RemoveDevice(image.ID)
return err
}
@ -432,11 +433,13 @@ func (image *Image) ensureImageDevice(devices DeviceSet) error {
// part of the container changes
dockerinitLayer, err := image.getDockerInitLayer()
if err != nil {
_ = devices.UnmountDevice(image.ID, mountDir)
_ = devices.RemoveDevice(image.ID)
return err
}
err = image.applyLayer(dockerinitLayer, mountDir)
if err != nil {
_ = devices.UnmountDevice(image.ID, mountDir)
_ = devices.RemoveDevice(image.ID)
return err
}