summaryrefslogtreecommitdiff
path: root/libpod/volume.go
diff options
context:
space:
mode:
authorBaron Lenardson <lenardson.baron@gmail.com>2020-12-22 20:02:08 -0600
committerBaron Lenardson <lenardson.baron@gmail.com>2020-12-30 19:57:35 -0600
commitb90f7f90952f16e0c1b05e8f750b56bb43711b5e (patch)
treeba33228b57820f0f59b9b9563b2e79ce407dd2ed /libpod/volume.go
parentc6c9b45985790af50a78da4c222e10672f92c629 (diff)
downloadpodman-b90f7f90952f16e0c1b05e8f750b56bb43711b5e.tar.gz
podman-b90f7f90952f16e0c1b05e8f750b56bb43711b5e.tar.bz2
podman-b90f7f90952f16e0c1b05e8f750b56bb43711b5e.zip
Rework pruning to report reclaimed space
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>
Diffstat (limited to 'libpod/volume.go')
-rw-r--r--libpod/volume.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/libpod/volume.go b/libpod/volume.go
index 0535bf4db..ed08d375f 100644
--- a/libpod/volume.go
+++ b/libpod/volume.go
@@ -1,6 +1,8 @@
package libpod
import (
+ "os"
+ "path/filepath"
"time"
"github.com/containers/podman/v2/libpod/define"
@@ -79,6 +81,18 @@ func (v *Volume) Name() string {
return v.config.Name
}
+// Returns the size on disk of volume
+func (v *Volume) Size() (uint64, error) {
+ var size uint64
+ err := filepath.Walk(v.config.MountPoint, func(path string, info os.FileInfo, err error) error {
+ if err == nil && !info.IsDir() {
+ size += (uint64)(info.Size())
+ }
+ return err
+ })
+ return size, err
+}
+
// Driver retrieves the volume's driver.
func (v *Volume) Driver() string {
return v.config.Driver