MCPcopy
hub / github.com/firecracker-microvm/firecracker-containerd / copyToHostFromProvider

Method copyToHostFromProvider

volume/set.go:90–112  ·  view source on GitHub ↗
(ctx context.Context, vp Provider)

Source from the content-addressed store, hash-verified

88}
89
90func (vs *Set) copyToHostFromProvider(ctx context.Context, vp Provider) error {
91 dir, err := os.MkdirTemp(vs.tempDir, "copyToHostFromProvider")
92 if err != nil {
93 return err
94 }
95 volumes, err := vp.CreateVolumesUnder(ctx, dir)
96 if err != nil {
97 return err
98 }
99
100 mounts := make([]Mount, 0, len(volumes))
101 for _, v := range volumes {
102 if v.name == "" {
103 index := len(vs.volumes)
104 v.name = fmt.Sprintf("anon_%d", index)
105 }
106 vs.volumes[v.name] = v
107
108 mounts = append(mounts, Mount{key: v.name, Destination: v.containerPath, ReadOnly: false})
109 }
110 vs.mounts[vp.Name()] = mounts
111 return nil
112}
113
114func (vs *Set) createDiskImage(ctx context.Context, size int64) (path string, retErr error) {
115 f, err := os.CreateTemp(vs.tempDir, "createDiskImage")

Callers 2

PrepareInGuestMethod · 0.95
copyToHostMethod · 0.95

Calls 2

CreateVolumesUnderMethod · 0.65
NameMethod · 0.65

Tested by

no test coverage detected