Inline ReadFooterDataFromAnnotations into the only caller

Again, decrease the size of the compression code for c/image.

We will simplify this further immediately.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
This commit is contained in:
Miloslav Trmač 2024-04-22 22:25:28 +02:00
parent 2d0e887b5b
commit f468eee1e9
2 changed files with 9 additions and 21 deletions

View File

@ -139,10 +139,17 @@ func readZstdChunkedManifest(blobStream ImageSourceSeekable, tocDigest digest.Di
return nil, nil, 0, fmt.Errorf("%q annotation missing", internal.ManifestInfoKey) return nil, nil, 0, fmt.Errorf("%q annotation missing", internal.ManifestInfoKey)
} }
footerData, err := internal.ReadFooterDataFromAnnotations(annotations) var footerData internal.ZstdChunkedFooterData
if err != nil {
if _, err := fmt.Sscanf(offsetMetadata, "%d:%d:%d:%d", &footerData.Offset, &footerData.LengthCompressed, &footerData.LengthUncompressed, &footerData.ManifestType); err != nil {
return nil, nil, 0, err return nil, nil, 0, err
} }
if tarSplitInfoKeyAnnotation, found := annotations[internal.TarSplitInfoKey]; found {
if _, err := fmt.Sscanf(tarSplitInfoKeyAnnotation, "%d:%d:%d", &footerData.OffsetTarSplit, &footerData.LengthCompressedTarSplit, &footerData.LengthUncompressedTarSplit); err != nil {
return nil, nil, 0, err
}
footerData.ChecksumAnnotationTarSplit = annotations[internal.TarSplitChecksumKey]
}
if footerData.ManifestType != internal.ManifestTypeCRFS { if footerData.ManifestType != internal.ManifestTypeCRFS {
return nil, nil, 0, errors.New("invalid manifest type") return nil, nil, 0, errors.New("invalid manifest type")

View File

@ -231,22 +231,3 @@ func footerDataToBlob(footer ZstdChunkedFooterData) []byte {
return manifestDataLE return manifestDataLE
} }
// ReadFooterDataFromAnnotations reads the zstd:chunked footer data from the given annotations.
func ReadFooterDataFromAnnotations(annotations map[string]string) (ZstdChunkedFooterData, error) {
var footerData ZstdChunkedFooterData
offsetMetadata := annotations[ManifestInfoKey]
if _, err := fmt.Sscanf(offsetMetadata, "%d:%d:%d:%d", &footerData.Offset, &footerData.LengthCompressed, &footerData.LengthUncompressed, &footerData.ManifestType); err != nil {
return footerData, err
}
if tarSplitInfoKeyAnnotation, found := annotations[TarSplitInfoKey]; found {
if _, err := fmt.Sscanf(tarSplitInfoKeyAnnotation, "%d:%d:%d", &footerData.OffsetTarSplit, &footerData.LengthCompressedTarSplit, &footerData.LengthUncompressedTarSplit); err != nil {
return footerData, err
}
footerData.ChecksumAnnotationTarSplit = annotations[TarSplitChecksumKey]
}
return footerData, nil
}