summaryrefslogtreecommitdiff
path: root/pkg/varlinkapi/volumes.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/varlinkapi/volumes.go')
-rw-r--r--pkg/varlinkapi/volumes.go26
1 files changed, 15 insertions, 11 deletions
diff --git a/pkg/varlinkapi/volumes.go b/pkg/varlinkapi/volumes.go
index 2dddd3008..e497cb537 100644
--- a/pkg/varlinkapi/volumes.go
+++ b/pkg/varlinkapi/volumes.go
@@ -6,7 +6,7 @@ import (
"encoding/json"
"github.com/containers/libpod/cmd/podman/shared"
- "github.com/containers/libpod/cmd/podman/varlink"
+ iopodman "github.com/containers/libpod/cmd/podman/varlink"
"github.com/containers/libpod/libpod"
)
@@ -105,16 +105,20 @@ func (i *LibpodAPI) InspectVolume(call iopodman.VarlinkCall, name string) error
// VolumesPrune removes unused images via a varlink call
func (i *LibpodAPI) VolumesPrune(call iopodman.VarlinkCall) error {
- var errs []string
- prunedNames, prunedErrors := i.Runtime.PruneVolumes(getContext())
- if len(prunedErrors) == 0 {
- return call.ReplyVolumesPrune(prunedNames, []string{})
+ var (
+ prunedErrors []string
+ prunedNames []string
+ )
+ responses, err := i.Runtime.PruneVolumes(getContext())
+ if err != nil {
+ return call.ReplyVolumesPrune([]string{}, []string{err.Error()})
}
-
- // We need to take the errors and capture their strings to go back over
- // varlink
- for _, e := range prunedErrors {
- errs = append(errs, e.Error())
+ for k, v := range responses {
+ if v == nil {
+ prunedNames = append(prunedNames, k)
+ } else {
+ prunedErrors = append(prunedErrors, v.Error())
+ }
}
- return call.ReplyVolumesPrune(prunedNames, errs)
+ return call.ReplyVolumesPrune(prunedNames, prunedErrors)
}