MCPcopy Index your code
hub / github.com/containerd/containerd / writeContainer

Function writeContainer

core/metadata/containers.go:412–459  ·  view source on GitHub ↗
(bkt *bolt.Bucket, container *containers.Container)

Source from the content-addressed store, hash-verified

410}
411
412func writeContainer(bkt *bolt.Bucket, container *containers.Container) error {
413 if err := boltutil.WriteTimestamps(bkt, container.CreatedAt, container.UpdatedAt); err != nil {
414 return err
415 }
416
417 if err := boltutil.WriteAny(bkt, bucketKeySpec, container.Spec); err != nil {
418 return err
419 }
420
421 for _, v := range [][2][]byte{
422 {bucketKeyImage, []byte(container.Image)},
423 {bucketKeySnapshotter, []byte(container.Snapshotter)},
424 {bucketKeySnapshotKey, []byte(container.SnapshotKey)},
425 } {
426 if err := bkt.Put(v[0], v[1]); err != nil {
427 return err
428 }
429 }
430
431 if rbkt := bkt.Bucket(bucketKeyRuntime); rbkt != nil {
432 if err := bkt.DeleteBucket(bucketKeyRuntime); err != nil {
433 return err
434 }
435 }
436
437 rbkt, err := bkt.CreateBucket(bucketKeyRuntime)
438 if err != nil {
439 return err
440 }
441
442 if err := rbkt.Put(bucketKeyName, []byte(container.Runtime.Name)); err != nil {
443 return err
444 }
445
446 if err := boltutil.WriteExtensions(bkt, container.Extensions); err != nil {
447 return err
448 }
449
450 if err := boltutil.WriteAny(rbkt, bucketKeyOptions, container.Runtime.Options); err != nil {
451 return err
452 }
453
454 if err := bkt.Put(bucketKeySandboxID, []byte(container.SandboxID)); err != nil {
455 return err
456 }
457
458 return boltutil.WriteLabels(bkt, container.Labels)
459}

Callers 2

CreateMethod · 0.85
UpdateMethod · 0.85

Calls 5

WriteTimestampsFunction · 0.92
WriteAnyFunction · 0.92
WriteExtensionsFunction · 0.92
WriteLabelsFunction · 0.92
PutMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…