(ctx context.Context, store content.Ingester, mediaType, ref string, r io.Reader, opts ...content.Opt)
| 778 | } |
| 779 | |
| 780 | func writeContent(ctx context.Context, store content.Ingester, mediaType, ref string, r io.Reader, opts ...content.Opt) (d v1.Descriptor, err error) { |
| 781 | writer, err := store.Writer(ctx, content.WithRef(ref)) |
| 782 | if err != nil { |
| 783 | return d, err |
| 784 | } |
| 785 | defer writer.Close() |
| 786 | size, err := io.Copy(writer, r) |
| 787 | if err != nil { |
| 788 | return d, err |
| 789 | } |
| 790 | |
| 791 | if err := writer.Commit(ctx, size, "", opts...); err != nil { |
| 792 | if !errdefs.IsAlreadyExists(err) { |
| 793 | return d, err |
| 794 | } |
| 795 | } |
| 796 | return v1.Descriptor{ |
| 797 | MediaType: mediaType, |
| 798 | Digest: writer.Digest(), |
| 799 | Size: size, |
| 800 | }, nil |
| 801 | } |
| 802 | |
| 803 | // isCheckpointPathExist only suitable for runc runtime now |
| 804 | func isCheckpointPathExist(runtime string, v any) bool { |
no test coverage detected
searching dependent graphs…