소스 검색

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 년 전
부모
커밋
6c7ae06435
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  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
 		}