Remove parentlayers lookup.
We don't do anything with these variables, and they break additionalstores Signed-off-by: Dan Walsh <dwalsh@redhat.com>
This commit is contained in:
parent
8be3f77478
commit
6160e9213e
46
layers.go
46
layers.go
|
|
@ -163,7 +163,6 @@ type layerStore struct {
|
||||||
idindex *truncindex.TruncIndex
|
idindex *truncindex.TruncIndex
|
||||||
byid map[string]*Layer
|
byid map[string]*Layer
|
||||||
byname map[string]*Layer
|
byname map[string]*Layer
|
||||||
byparent map[string][]*Layer
|
|
||||||
bymount map[string]*Layer
|
bymount map[string]*Layer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -231,7 +230,6 @@ func (r *layerStore) Load() error {
|
||||||
r.idindex = truncindex.NewTruncIndex(idlist)
|
r.idindex = truncindex.NewTruncIndex(idlist)
|
||||||
r.byid = ids
|
r.byid = ids
|
||||||
r.byname = names
|
r.byname = names
|
||||||
r.byparent = parents
|
|
||||||
r.bymount = mounts
|
r.bymount = mounts
|
||||||
err = nil
|
err = nil
|
||||||
// Last step: try to remove anything that a previous user of this
|
// Last step: try to remove anything that a previous user of this
|
||||||
|
|
@ -309,7 +307,6 @@ func newLayerStore(rundir string, layerdir string, driver drivers.Driver) (Layer
|
||||||
byid: make(map[string]*Layer),
|
byid: make(map[string]*Layer),
|
||||||
bymount: make(map[string]*Layer),
|
bymount: make(map[string]*Layer),
|
||||||
byname: make(map[string]*Layer),
|
byname: make(map[string]*Layer),
|
||||||
byparent: make(map[string][]*Layer),
|
|
||||||
}
|
}
|
||||||
if err := rlstore.Load(); err != nil {
|
if err := rlstore.Load(); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
@ -400,12 +397,6 @@ func (r *layerStore) Put(id, parent string, names []string, mountLabel string, o
|
||||||
for _, name := range names {
|
for _, name := range names {
|
||||||
r.byname[name] = layer
|
r.byname[name] = layer
|
||||||
}
|
}
|
||||||
if pslice, ok := r.byparent[parent]; ok {
|
|
||||||
pslice = append(pslice, layer)
|
|
||||||
r.byparent[parent] = pslice
|
|
||||||
} else {
|
|
||||||
r.byparent[parent] = []*Layer{layer}
|
|
||||||
}
|
|
||||||
for flag, value := range flags {
|
for flag, value := range flags {
|
||||||
layer.Flags[flag] = value
|
layer.Flags[flag] = value
|
||||||
}
|
}
|
||||||
|
|
@ -553,23 +544,8 @@ func (r *layerStore) Delete(id string) error {
|
||||||
err := r.driver.Remove(id)
|
err := r.driver.Remove(id)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
os.Remove(r.tspath(id))
|
os.Remove(r.tspath(id))
|
||||||
pslice := r.byparent[layer.Parent]
|
|
||||||
newPslice := []*Layer{}
|
|
||||||
for _, candidate := range pslice {
|
|
||||||
if candidate.ID != id {
|
|
||||||
newPslice = append(newPslice, candidate)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
delete(r.byid, id)
|
delete(r.byid, id)
|
||||||
r.idindex.Delete(id)
|
r.idindex.Delete(id)
|
||||||
if len(newPslice) > 0 {
|
|
||||||
r.byparent[layer.Parent] = newPslice
|
|
||||||
} else {
|
|
||||||
delete(r.byparent, layer.Parent)
|
|
||||||
}
|
|
||||||
for _, name := range layer.Names {
|
|
||||||
delete(r.byname, name)
|
|
||||||
}
|
|
||||||
if layer.MountPoint != "" {
|
if layer.MountPoint != "" {
|
||||||
delete(r.bymount, layer.MountPoint)
|
delete(r.bymount, layer.MountPoint)
|
||||||
}
|
}
|
||||||
|
|
@ -619,11 +595,12 @@ func (r *layerStore) Wipe() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *layerStore) findParentAndLayer(from, to string) (fromID string, toID string, fromLayer *Layer, toLayer *Layer, err error) {
|
func (r *layerStore) findParentAndLayer(from, to string) (fromID string, toID string, toLayer *Layer, err error) {
|
||||||
var ok bool
|
var ok bool
|
||||||
|
var fromLayer *Layer
|
||||||
toLayer, ok = r.lookup(to)
|
toLayer, ok = r.lookup(to)
|
||||||
if !ok {
|
if !ok {
|
||||||
return "", "", nil, nil, ErrLayerUnknown
|
return "", "", nil, ErrLayerUnknown
|
||||||
}
|
}
|
||||||
to = toLayer.ID
|
to = toLayer.ID
|
||||||
if from == "" {
|
if from == "" {
|
||||||
|
|
@ -631,19 +608,20 @@ func (r *layerStore) findParentAndLayer(from, to string) (fromID string, toID st
|
||||||
}
|
}
|
||||||
if from != "" {
|
if from != "" {
|
||||||
fromLayer, ok = r.lookup(from)
|
fromLayer, ok = r.lookup(from)
|
||||||
if !ok {
|
if ok {
|
||||||
|
from = fromLayer.ID
|
||||||
|
} else {
|
||||||
fromLayer, ok = r.lookup(toLayer.Parent)
|
fromLayer, ok = r.lookup(toLayer.Parent)
|
||||||
if !ok {
|
if ok {
|
||||||
return "", "", nil, nil, ErrParentUnknown
|
from = fromLayer.ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
from = fromLayer.ID
|
|
||||||
}
|
}
|
||||||
return from, to, fromLayer, toLayer, nil
|
return from, to, toLayer, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *layerStore) Changes(from, to string) ([]archive.Change, error) {
|
func (r *layerStore) Changes(from, to string) ([]archive.Change, error) {
|
||||||
from, to, _, _, err := r.findParentAndLayer(from, to)
|
from, to, _, err := r.findParentAndLayer(from, to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ErrLayerUnknown
|
return nil, ErrLayerUnknown
|
||||||
}
|
}
|
||||||
|
|
@ -682,7 +660,7 @@ func (r *layerStore) newFileGetter(id string) (drivers.FileGetCloser, error) {
|
||||||
func (r *layerStore) Diff(from, to string) (io.ReadCloser, error) {
|
func (r *layerStore) Diff(from, to string) (io.ReadCloser, error) {
|
||||||
var metadata storage.Unpacker
|
var metadata storage.Unpacker
|
||||||
|
|
||||||
from, to, _, toLayer, err := r.findParentAndLayer(from, to)
|
from, to, toLayer, err := r.findParentAndLayer(from, to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, ErrLayerUnknown
|
return nil, ErrLayerUnknown
|
||||||
}
|
}
|
||||||
|
|
@ -772,7 +750,7 @@ func (r *layerStore) Diff(from, to string) (io.ReadCloser, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *layerStore) DiffSize(from, to string) (size int64, err error) {
|
func (r *layerStore) DiffSize(from, to string) (size int64, err error) {
|
||||||
from, to, _, _, err = r.findParentAndLayer(from, to)
|
from, to, _, err = r.findParentAndLayer(from, to)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return -1, ErrLayerUnknown
|
return -1, ErrLayerUnknown
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue