mirror of
https://github.com/containers/podman.git
synced 2026-07-23 05:32:19 -04:00
This change adds code to report the reclaimed space after a prune. Reclaimed space from volumes, images, and containers is recorded during the prune call in a PruneReport struct. These structs are collected into a slice during a system prune and processed afterwards to calculate the total reclaimed space. Closes #8658 Signed-off-by: Baron Lenardson <lenardson.baron@gmail.com>
41 lines
657 B
Go
41 lines
657 B
Go
package reports
|
|
|
|
type PruneReport struct {
|
|
Id string //nolint
|
|
Err error
|
|
Size uint64
|
|
}
|
|
|
|
func PruneReportsIds(r []*PruneReport) []string {
|
|
ids := make([]string, 0, len(r))
|
|
for _, v := range r {
|
|
if v == nil || v.Id == "" {
|
|
continue
|
|
}
|
|
ids = append(ids, v.Id)
|
|
}
|
|
return ids
|
|
}
|
|
|
|
func PruneReportsErrs(r []*PruneReport) []error {
|
|
errs := make([]error, 0, len(r))
|
|
for _, v := range r {
|
|
if v == nil || v.Err == nil {
|
|
continue
|
|
}
|
|
errs = append(errs, v.Err)
|
|
}
|
|
return errs
|
|
}
|
|
|
|
func PruneReportsSize(r []*PruneReport) uint64 {
|
|
size := uint64(0)
|
|
for _, v := range r {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
size = size + v.Size
|
|
}
|
|
return size
|
|
}
|