MCPcopy
hub / github.com/containerd/containerd / writeContent

Function writeContent

client/task.go:780–801  ·  view source on GitHub ↗
(ctx context.Context, store content.Ingester, mediaType, ref string, r io.Reader, opts ...content.Opt)

Source from the content-addressed store, hash-verified

778}
779
780func 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
804func isCheckpointPathExist(runtime string, v any) bool {

Callers 3

WithCheckpointTaskFunction · 0.85
WithCheckpointRuntimeFunction · 0.85
writeIndexFunction · 0.85

Calls 6

WithRefFunction · 0.92
CopyMethod · 0.80
WriterMethod · 0.65
CloseMethod · 0.65
CommitMethod · 0.65
DigestMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…