summaryrefslogtreecommitdiff
path: root/libpod/events/journal_linux.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-06-02 10:37:58 -0400
committerGitHub <noreply@github.com>2021-06-02 10:37:58 -0400
commit52dae693da0df1447b7f5210a4c842d5c5a8a401 (patch)
tree2f0add142c8bf9fbf901cf4538ceafa747a78797 /libpod/events/journal_linux.go
parent6df37abd502d53a695392723af0d4a4970be3e58 (diff)
parent37f39eefee72ec4fb6c6bd71642e9d384c448387 (diff)
downloadpodman-52dae693da0df1447b7f5210a4c842d5c5a8a401.tar.gz
podman-52dae693da0df1447b7f5210a4c842d5c5a8a401.tar.bz2
podman-52dae693da0df1447b7f5210a4c842d5c5a8a401.zip
Merge pull request #10514 from vrothberg/fix-10507
events: support disjunctive filters
Diffstat (limited to 'libpod/events/journal_linux.go')
-rw-r--r--libpod/events/journal_linux.go10
1 files changed, 3 insertions, 7 deletions
diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go
index 23e5f15b1..7006290e9 100644
--- a/libpod/events/journal_linux.go
+++ b/libpod/events/journal_linux.go
@@ -69,9 +69,9 @@ func (e EventJournalD) Write(ee Event) error {
// Read reads events from the journal and sends qualified events to the event channel
func (e EventJournalD) Read(ctx context.Context, options ReadOptions) error {
defer close(options.EventChannel)
- eventOptions, err := generateEventOptions(options.Filters, options.Since, options.Until)
+ filterMap, err := generateEventFilters(options.Filters, options.Since, options.Until)
if err != nil {
- return errors.Wrapf(err, "failed to generate event options")
+ return errors.Wrapf(err, "failed to parse event filters")
}
var untilTime time.Time
if len(options.Until) > 0 {
@@ -159,11 +159,7 @@ func (e EventJournalD) Read(ctx context.Context, options ReadOptions) error {
}
continue
}
- include := true
- for _, filter := range eventOptions {
- include = include && filter(newEvent)
- }
- if include {
+ if applyFilters(newEvent, filterMap) {
options.EventChannel <- newEvent
}
}