mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add Map() method to LayerStore interface
This method return a map associating a chain ID to its layer object Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
This commit is contained in:
parent
ad398f132b
commit
148aef9199
3 changed files with 24 additions and 0 deletions
|
@ -71,6 +71,16 @@ func createChainIDFromParent(parent layer.ChainID, dgsts ...layer.DiffID) layer.
|
||||||
return createChainIDFromParent(layer.ChainID(dgst), dgsts[1:]...)
|
return createChainIDFromParent(layer.ChainID(dgst), dgsts[1:]...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ls *mockLayerStore) Map() map[layer.ChainID]layer.Layer {
|
||||||
|
layers := map[layer.ChainID]layer.Layer{}
|
||||||
|
|
||||||
|
for k, v := range ls.layers {
|
||||||
|
layers[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
return layers
|
||||||
|
}
|
||||||
|
|
||||||
func (ls *mockLayerStore) Register(reader io.Reader, parentID layer.ChainID) (layer.Layer, error) {
|
func (ls *mockLayerStore) Register(reader io.Reader, parentID layer.ChainID) (layer.Layer, error) {
|
||||||
return ls.RegisterWithDescriptor(reader, parentID, distribution.Descriptor{})
|
return ls.RegisterWithDescriptor(reader, parentID, distribution.Descriptor{})
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,6 +170,7 @@ type MountInit func(root string) error
|
||||||
type Store interface {
|
type Store interface {
|
||||||
Register(io.Reader, ChainID) (Layer, error)
|
Register(io.Reader, ChainID) (Layer, error)
|
||||||
Get(ChainID) (Layer, error)
|
Get(ChainID) (Layer, error)
|
||||||
|
Map() map[ChainID]Layer
|
||||||
Release(Layer) ([]Metadata, error)
|
Release(Layer) ([]Metadata, error)
|
||||||
|
|
||||||
CreateRWLayer(id string, parent ChainID, mountLabel string, initFunc MountInit, storageOpt map[string]string) (RWLayer, error)
|
CreateRWLayer(id string, parent ChainID, mountLabel string, initFunc MountInit, storageOpt map[string]string) (RWLayer, error)
|
||||||
|
|
|
@ -360,6 +360,19 @@ func (ls *layerStore) Get(l ChainID) (Layer, error) {
|
||||||
return layer.getReference(), nil
|
return layer.getReference(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ls *layerStore) Map() map[ChainID]Layer {
|
||||||
|
ls.layerL.Lock()
|
||||||
|
defer ls.layerL.Unlock()
|
||||||
|
|
||||||
|
layers := map[ChainID]Layer{}
|
||||||
|
|
||||||
|
for k, v := range ls.layerMap {
|
||||||
|
layers[k] = v
|
||||||
|
}
|
||||||
|
|
||||||
|
return layers
|
||||||
|
}
|
||||||
|
|
||||||
func (ls *layerStore) deleteLayer(layer *roLayer, metadata *Metadata) error {
|
func (ls *layerStore) deleteLayer(layer *roLayer, metadata *Metadata) error {
|
||||||
err := ls.driver.Remove(layer.cacheID)
|
err := ls.driver.Remove(layer.cacheID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue