mirror of
https://github.com/containers/skopeo.git
synced 2025-09-21 18:09:08 +00:00
Vendor update container/storage
overlay: propagate errors from mountProgram utils: root in a userns uses global conf file Fix handling of additional stores Correctly check permissions on rootless directory Fix possible integer overflow on 32bit builds Evaluate device path for lvm lockfile test: make concurrent RW test determinisitc lockfile test: make concurrent read tests deterministic Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
14
vendor/github.com/containers/storage/store.go
generated
vendored
14
vendor/github.com/containers/storage/store.go
generated
vendored
@@ -1038,8 +1038,9 @@ func (s *store) imageTopLayerForMapping(image *Image, ristore ROImageStore, crea
|
||||
return reflect.DeepEqual(layer.UIDMap, options.UIDMap) && reflect.DeepEqual(layer.GIDMap, options.GIDMap)
|
||||
}
|
||||
var layer, parentLayer *Layer
|
||||
allStores := append([]ROLayerStore{rlstore}, lstores...)
|
||||
// Locate the image's top layer and its parent, if it has one.
|
||||
for _, s := range append([]ROLayerStore{rlstore}, lstores...) {
|
||||
for _, s := range allStores {
|
||||
store := s
|
||||
if store != rlstore {
|
||||
store.Lock()
|
||||
@@ -1056,10 +1057,13 @@ func (s *store) imageTopLayerForMapping(image *Image, ristore ROImageStore, crea
|
||||
// We want the layer's parent, too, if it has one.
|
||||
var cParentLayer *Layer
|
||||
if cLayer.Parent != "" {
|
||||
// Its parent should be around here, somewhere.
|
||||
if cParentLayer, err = store.Get(cLayer.Parent); err != nil {
|
||||
// Nope, couldn't find it. We're not going to be able
|
||||
// to diff this one properly.
|
||||
// Its parent should be in one of the stores, somewhere.
|
||||
for _, ps := range allStores {
|
||||
if cParentLayer, err = ps.Get(cLayer.Parent); err == nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
if cParentLayer == nil {
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user