aboutsummaryrefslogtreecommitdiff
path: root/image
diff options
context:
space:
mode:
authorJohn Howard <jhoward@microsoft.com>2018-01-18 12:56:28 -0800
committerJohn Howard <jhoward@microsoft.com>2018-01-18 12:56:28 -0800
commitc94d34f783944ff6586846ccd11e86925fcee171 (patch)
tree76de31ffa77946b8670216ab90e00bd7ffa0186b /image
parent0cba7740d41369eee33b671f26276325580bc07b (diff)
Remove OS() from layer interface
Signed-off-by: John Howard <jhoward@microsoft.com>
Diffstat (limited to 'image')
-rw-r--r--image/store.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/image/store.go b/image/store.go
index 1e1d5bfe14..60f499c9fe 100644
--- a/image/store.go
+++ b/image/store.go
@@ -224,6 +224,13 @@ func (is *store) Delete(id ID) ([]layer.Metadata, error) {
if imageMeta == nil {
return nil, fmt.Errorf("unrecognized image ID %s", id.String())
}
+ img, err := is.Get(id)
+ if err != nil {
+ return nil, fmt.Errorf("unrecognized image %s, %v", id.String(), err)
+ }
+ if !system.IsOSSupported(img.OperatingSystem()) {
+ return nil, fmt.Errorf("unsupported image operating system %q", img.OperatingSystem())
+ }
for id := range imageMeta.children {
is.fs.DeleteMetadata(id.Digest(), "parent")
}
@@ -238,7 +245,7 @@ func (is *store) Delete(id ID) ([]layer.Metadata, error) {
is.fs.Delete(id.Digest())
if imageMeta.layer != nil {
- return is.lss[imageMeta.layer.OS()].Release(imageMeta.layer)
+ return is.lss[img.OperatingSystem()].Release(imageMeta.layer)
}
return nil, nil
}