MCPcopy Create free account
hub / github.com/containers/common / DiskUsage

Method DiskUsage

libimage/disk_usage.go:31–51  ·  view source on GitHub ↗

DiskUsage calculates the disk usage for each image in the local containers storage. Note that a single image may yield multiple usage reports, one for each repository tag.

(ctx context.Context)

Source from the content-addressed store, hash-verified

29// storage. Note that a single image may yield multiple usage reports, one for
30// each repository tag.
31func (r *Runtime) DiskUsage(ctx context.Context) ([]ImageDiskUsage, error) {
32 layerTree, err := r.layerTree()
33 if err != nil {
34 return nil, err
35 }
36
37 images, err := r.ListImages(ctx, nil, nil)
38 if err != nil {
39 return nil, err
40 }
41
42 var allUsages []ImageDiskUsage
43 for _, image := range images {
44 usages, err := diskUsageForImage(ctx, image, layerTree)
45 if err != nil {
46 return nil, err
47 }
48 allUsages = append(allUsages, usages...)
49 }
50 return allUsages, err
51}
52
53// diskUsageForImage returns the disk-usage baseistics for the specified image.
54func diskUsageForImage(ctx context.Context, image *Image, tree *layerTree) ([]ImageDiskUsage, error) {

Callers 1

TestCorruptedLayersFunction · 0.80

Calls 3

layerTreeMethod · 0.95
ListImagesMethod · 0.95
diskUsageForImageFunction · 0.85

Tested by 1

TestCorruptedLayersFunction · 0.64