]> xenbits.xensource.com Git - libvirt.git/commitdiff
virlog: Introduce virLogDefineFilters
authorErik Skultety <eskultet@redhat.com>
Tue, 29 Mar 2016 15:04:36 +0000 (17:04 +0200)
committerErik Skultety <eskultet@redhat.com>
Mon, 10 Oct 2016 06:27:24 +0000 (08:27 +0200)
Prepare a method that only defines a set of filters. It takes a list of
filters, preferably created by virLogParseFilters. The original set of filters
is reset and replaced by the new user-provided set of filters.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
src/libvirt_private.syms
src/util/virlog.c
src/util/virlog.h

index 5914769acfc7a35b587c8fa357e291b9eba9bfc8..4a0acdf90b02e2aa1bc55984e06b2d8b59556a94 100644 (file)
@@ -1870,6 +1870,7 @@ virLockSpaceReleaseResourcesForOwner;
 
 # util/virlog.h
 virLogDefineFilter;
+virLogDefineFilters;
 virLogDefineOutput;
 virLogDefineOutputs;
 virLogFilterFree;
index 5543a11350608e45606ba598021e682637615871..b087137c69528829c9f201ec4438fc7819fcf2d5 100644 (file)
@@ -1706,3 +1706,30 @@ virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
 
     return 0;
 }
+
+
+/**
+ * virLogDefineFilters:
+ * @filters: new set of filters to be defined
+ * @nfilters: number of filters in @filters
+ *
+ * Resets any existing set of filters and defines a completely new one. The
+ * resulting set can also be empty in which case NULL should be passed to
+ * @filters.
+ *
+ * Returns 0 on success or -1 in case of error.
+ */
+int
+virLogDefineFilters(virLogFilterPtr *filters, size_t nfilters)
+{
+    if (virLogInitialize() < 0)
+        return -1;
+
+    virLogLock();
+    virLogResetFilters();
+    virLogFilters = filters;
+    virLogNbFilters = nfilters;
+    virLogUnlock();
+
+    return 0;
+}
index 3c4cd556e240e6c487de3806bb63a8443d72a766..d6d65bad875cd9fa655e71b7cd7520525372dc34 100644 (file)
@@ -239,5 +239,6 @@ int virLogFindOutput(virLogOutputPtr *outputs, size_t noutputs,
                      virLogDestination dest, const void *opaque);
 int virLogDefineOutputs(virLogOutputPtr *outputs,
                         size_t noutputs) ATTRIBUTE_NONNULL(1);
+int virLogDefineFilters(virLogFilterPtr *filters, size_t nfilters);
 
 #endif