From d32c0f9afe437afc93062722c927b259acf36e0f Mon Sep 17 00:00:00 2001 From: Daniel P. Berrangé Date: Apr 27 2018 15:26:56 +0000 Subject: Revert "util: virlog: Introduce wildcard to log filters" This reverts commit 8daa593b0741452a78daea76075254ae7d3c6ab6. There are two undesirable aspects to the impl - Only a bare wildcard is permitted - The wildcard match is not performed in the order listed Reviewed-by: John Ferlan Signed-off-by: Daniel P. Berrangé --- diff --git a/src/remote/libvirtd.conf b/src/remote/libvirtd.conf index 7d823cf..9c0080d 100644 --- a/src/remote/libvirtd.conf +++ b/src/remote/libvirtd.conf @@ -368,9 +368,7 @@ # Multiple filters can be defined in a single @filters, they just need to be # separated by spaces. Note that libvirt performs "first" match, i.e. if # there are concurrent filters, the first one that matches will be applied, -# given the order in log_filters with the exception of a wildcard filter, since -# that's only taken into account if no other filter has matched, so -# "4:* 1:util.pci" and "1:util.pci 4:*" are equivalent definitions. +# given the order in log_filters. # # e.g. to only get warning or errors from the remote layer and only errors # from the event layer: diff --git a/src/util/virlog.c b/src/util/virlog.c index 81a9dc4..5810643 100644 --- a/src/util/virlog.c +++ b/src/util/virlog.c @@ -497,38 +497,6 @@ virLogHostnameString(char **rawmsg, return 0; } -/* virLogFiltersFind: - * @filters: haystack - * @nfilters: haystack size - * @key1: primary string 'needle' - * @key2: secondary integer 'needle' - * - * Performs "first match" search on the input set of filters, using @key1 - * (string) and @key2 (integer) as primary and secondary keys respectively. - * Secondary key is only considered if primary key wasn't provided. - * - * Returns a pointer to the matched object or NULL if no match was found. - */ -static virLogFilterPtr -virLogFiltersFind(virLogFilterPtr *filters, - size_t nfilters, - const char *key1, - unsigned int key2) -{ - size_t i; - - if (!key1 && key2 == 0) - return NULL; - - for (i = 0; i < nfilters; i++) { - if ((key1 && STREQ(key1, filters[i]->match)) || - filters[i]->flags == key2) - return filters[i]; - } - - return NULL; -} - static void virLogSourceUpdate(virLogSourcePtr source) @@ -1441,8 +1409,7 @@ virLogFilterNew(const char *match, virLogFilterPtr ret = NULL; char *mdup = NULL; - virCheckFlags(VIR_LOG_STACK_TRACE | - VIR_LOG_WILDCARD, NULL); + virCheckFlags(VIR_LOG_STACK_TRACE, NULL); if (priority < VIR_LOG_DEBUG || priority > VIR_LOG_ERROR) { virReportError(VIR_ERR_INVALID_ARG, _("Invalid log priority %d"), @@ -1561,8 +1528,6 @@ virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs) int virLogDefineFilters(virLogFilterPtr *filters, size_t nfilters) { - virLogFilterPtr rc; - if (virLogInitialize() < 0) return -1; @@ -1570,10 +1535,6 @@ virLogDefineFilters(virLogFilterPtr *filters, size_t nfilters) virLogResetFilters(); virLogFilters = filters; virLogNbFilters = nfilters; - - /* if there's a wildcard filter, update default priority */ - if ((rc = virLogFiltersFind(filters, nfilters, NULL, VIR_LOG_WILDCARD))) - virLogDefaultPriority = rc->priority; virLogUnlock(); return 0; @@ -1749,9 +1710,6 @@ virLogParseFilter(const char *src) match++; } - if (STREQ(match, "*")) - flags |= VIR_LOG_WILDCARD; - /* match string cannot comprise just from a single '+' */ if (!*match) { virReportError(VIR_ERR_INVALID_ARG, diff --git a/src/util/virlog.h b/src/util/virlog.h index 07b91f0..8973f83 100644 --- a/src/util/virlog.h +++ b/src/util/virlog.h @@ -174,7 +174,6 @@ typedef void (*virLogCloseFunc) (void *data); typedef enum { VIR_LOG_STACK_TRACE = (1 << 0), - VIR_LOG_WILDCARD = (1 << 1) } virLogFlags; int virLogGetNbFilters(void);