in pkg/containerd/store.go [297:319]
func (c *store) Write(ctx context.Context, dst io.Writer, dgst digest.Digest) error {
ra, err := c.client.ContentStore().ReaderAt(ctx, ocispec.Descriptor{Digest: dgst})
if err != nil {
return err
}
defer func() {
if closeErr := ra.Close(); closeErr != nil {
if err != nil {
err = fmt.Errorf("multiple errors: %v; %v", err, closeErr)
} else {
err = closeErr
}
}
}()
_, err = io.Copy(dst, content.NewReader(ra))
if err != nil {
return err
}
return nil
}