Browse Source

Image.Changes: Deactivate image device after unmounting it

There is no need to keep the image device around if we were the
onces creating the device.
Alexander Larsson 12 năm trước cách đây
mục cha
commit
6c7ae06435
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  1. 5 0
      image.go

+ 5 - 0
image.go

@@ -617,6 +617,8 @@ func (image *Image) Changes(runtime *Runtime, root, rw, id string) ([]Change, er
 			return nil, err
 		}
 
+		wasActivated := devices.HasActivatedDevice(image.ID)
+
 		// We re-use rw for the temporary mount of the base image as its
 		// not used by device-mapper otherwise
 		err = devices.MountDevice(image.ID, rw)
@@ -626,6 +628,9 @@ func (image *Image) Changes(runtime *Runtime, root, rw, id string) ([]Change, er
 
 		changes, err := ChangesDirs(root, rw)
 		_ = devices.UnmountDevice(image.ID, rw)
+		if !wasActivated {
+			_ = devices.DeactivateDevice(image.ID)
+		}
 		if err != nil {
 			return nil, err
 		}