in experimental/repository.go [66:91]
func (r *repositoryData) markManifestLayers(blobs blobsData, revision digest) error {
err := blobs.mark(revision)
if err != nil {
return err
}
manifest, err := manifests.get(revision, blobs)
if err != nil {
return err
}
r.lock.Lock()
defer r.lock.Unlock()
var resultErr error
for _, layer := range manifest.layers {
_, ok := r.layers[layer]
if !ok {
resultErr = multierror.Append(resultErr, fmt.Errorf("layer %s not found reference from manifest %s", layer, revision))
}
r.layers[layer]++
}
return resultErr
}