diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-11-03 16:25:39 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-03 16:25:39 -0500 |
commit | 5f897d2abe960f2e29dd4ae87829c3c769a4423b (patch) | |
tree | d179cf321919b2cf4368d575b28ea8f81f5b9ddb /libpod | |
parent | 55433450c2b7c5fa8c3e5a7cd7aa529e6975d770 (diff) | |
parent | 532bce4ad434e302007c3d2adf9994b5a822cc19 (diff) | |
download | podman-5f897d2abe960f2e29dd4ae87829c3c769a4423b.tar.gz podman-5f897d2abe960f2e29dd4ae87829c3c769a4423b.tar.bz2 podman-5f897d2abe960f2e29dd4ae87829c3c769a4423b.zip |
Merge pull request #8232 from ashley-cui/volfilt
Make volume filters inclusive
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/runtime_volume.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libpod/runtime_volume.go b/libpod/runtime_volume.go index e4e6d87e6..055a243c0 100644 --- a/libpod/runtime_volume.go +++ b/libpod/runtime_volume.go @@ -86,8 +86,8 @@ func (r *Runtime) HasVolume(name string) (bool, error) { // Volumes retrieves all volumes // Filters can be provided which will determine which volumes are included in the -// output. Multiple filters are handled by ANDing their output, so only volumes -// matching all filters are returned +// output. If multiple filters are used, a volume will be returned if +// any of the filters are matched func (r *Runtime) Volumes(filters ...VolumeFilter) ([]*Volume, error) { r.lock.RLock() defer r.lock.RUnlock() @@ -101,11 +101,15 @@ func (r *Runtime) Volumes(filters ...VolumeFilter) ([]*Volume, error) { return nil, err } + if len(filters) == 0 { + return vols, nil + } + volsFiltered := make([]*Volume, 0, len(vols)) for _, vol := range vols { - include := true + include := false for _, filter := range filters { - include = include && filter(vol) + include = include || filter(vol) } if include { |