diff options
author | Qi Wang <qiwan@redhat.com> | 2020-09-04 11:08:45 -0400 |
---|---|---|
committer | Qi Wang <qiwan@redhat.com> | 2020-09-04 11:11:39 -0400 |
commit | f6a988547be825ad78d9fe106181eafbc3ddf20c (patch) | |
tree | d2d1dae4938c748c135b9ff70350a5fb2e7561e8 /pkg/domain | |
parent | fa487a65220951e84779f200f48780666b4b9209 (diff) | |
download | podman-f6a988547be825ad78d9fe106181eafbc3ddf20c.tar.gz podman-f6a988547be825ad78d9fe106181eafbc3ddf20c.tar.bz2 podman-f6a988547be825ad78d9fe106181eafbc3ddf20c.zip |
Fix system df inconsistent
Use RWSzir as system df verbose containers size to remain consistent with the summery. Volume is reclaimable only if not used by container.
Signed-off-by: Qi Wang <qiwan@redhat.com>
Diffstat (limited to 'pkg/domain')
-rw-r--r-- | pkg/domain/entities/system.go | 7 | ||||
-rw-r--r-- | pkg/domain/infra/abi/system.go | 11 |
2 files changed, 12 insertions, 6 deletions
diff --git a/pkg/domain/entities/system.go b/pkg/domain/entities/system.go index af355b0af..bde2b6ef2 100644 --- a/pkg/domain/entities/system.go +++ b/pkg/domain/entities/system.go @@ -75,9 +75,10 @@ type SystemDfContainerReport struct { // SystemDfVolumeReport describes a volume and its size type SystemDfVolumeReport struct { - VolumeName string - Links int - Size int64 + VolumeName string + Links int + Size int64 + ReclaimableSize int64 } // SystemResetOptions describes the options for resetting your diff --git a/pkg/domain/infra/abi/system.go b/pkg/domain/infra/abi/system.go index ff1052d86..914a7681d 100644 --- a/pkg/domain/infra/abi/system.go +++ b/pkg/domain/infra/abi/system.go @@ -313,6 +313,7 @@ func (ic *ContainerEngine) SystemDf(ctx context.Context, options entities.System } dfVolumes := make([]*entities.SystemDfVolumeReport, 0, len(vols)) + var reclaimableSize int64 for _, v := range vols { var consInUse int volSize, err := sizeOfPath(v.MountPoint()) @@ -323,15 +324,19 @@ func (ic *ContainerEngine) SystemDf(ctx context.Context, options entities.System if err != nil { return nil, err } + if len(inUse) == 0 { + reclaimableSize += volSize + } for _, viu := range inUse { if util.StringInSlice(viu, runningContainers) { consInUse++ } } report := entities.SystemDfVolumeReport{ - VolumeName: v.Name(), - Links: consInUse, - Size: volSize, + VolumeName: v.Name(), + Links: consInUse, + Size: volSize, + ReclaimableSize: reclaimableSize, } dfVolumes = append(dfVolumes, &report) } |