func()

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
}