[PATCH 1/8] domain: move logcontext mgmt from qemu to hypervisor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Move logcontext management from qemu to hypevisor to be shared
across hypervisors. This commit only replaces the names. Build
fixes will follow in next commit.

Signed-off-by: Praveen K Paladugu <praveenkpaladugu@xxxxxxxxx>
---
 .../domain_logcontext.c}                      | 60 +++++++++----------
 src/hypervisor/domain_logcontext.h            | 41 +++++++++++++
 src/hypervisor/meson.build                    |  1 +
 src/qemu/meson.build                          |  1 -
 src/qemu/qemu_domain.c                        | 28 ++++-----
 src/qemu/qemu_domain.h                        | 12 ++--
 src/qemu/qemu_logcontext.h                    | 41 -------------
 src/qemu/qemu_nbdkit.c                        |  8 +--
 src/qemu/qemu_process.c                       | 43 ++++++-------
 9 files changed, 118 insertions(+), 117 deletions(-)
 rename src/{qemu/qemu_logcontext.c => hypervisor/domain_logcontext.c} (84%)
 create mode 100644 src/hypervisor/domain_logcontext.h
 delete mode 100644 src/qemu/qemu_logcontext.h

diff --git a/src/qemu/qemu_logcontext.c b/src/hypervisor/domain_logcontext.c
similarity index 84%
rename from src/qemu/qemu_logcontext.c
rename to src/hypervisor/domain_logcontext.c
index 6e20f58bfa..3776d68ab9 100644
--- a/src/qemu/qemu_logcontext.c
+++ b/src/hypervisor/domain_logcontext.c
@@ -1,5 +1,5 @@
 /*
- * qemu_logcontext.c: QEMU log context
+ * domain_logcontext.c: Domain log context
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -18,7 +18,7 @@
 
 #include <config.h>
 
-#include "qemu_logcontext.h"
+#include "domain_logcontext.h"
 #include "viralloc.h"
 #include "virlog.h"
 #include "virstring.h"
@@ -26,12 +26,12 @@
 
 #include <fcntl.h>
 
-#define VIR_FROM_THIS VIR_FROM_QEMU
+#define VIR_FROM_THIS VIR_FROM_DOMAIN
 
-VIR_LOG_INIT("qemu.qemu_logcontext");
+VIR_LOG_INIT("domain.domain_logcontext");
 
 
-struct _qemuLogContext {
+struct _domainLogContext {
     GObject parent;
 
     int writefd;
@@ -42,48 +42,48 @@ struct _qemuLogContext {
     virLogManager *manager;
 };
 
-G_DEFINE_TYPE(qemuLogContext, qemu_log_context, G_TYPE_OBJECT);
+G_DEFINE_TYPE(domainLogContext, domain_log_context, G_TYPE_OBJECT);
 
 static void
-qemuLogContextFinalize(GObject *obj);
+domainLogContextFinalize(GObject *obj);
 
 
 static void
-qemu_log_context_init(qemuLogContext *logctxt G_GNUC_UNUSED)
+domain_log_context_init(domainLogContext *logctxt G_GNUC_UNUSED)
 {
 }
 
 
 static void
-qemu_log_context_class_init(qemuLogContextClass *klass)
+domain_log_context_class_init(domainLogContextClass *klass)
 {
     GObjectClass *obj = G_OBJECT_CLASS(klass);
 
-    obj->finalize = qemuLogContextFinalize;
+    obj->finalize = domainLogContextFinalize;
 }
 
 
 static void
-qemuLogContextFinalize(GObject *object)
+domainLogContextFinalize(GObject *object)
 {
-    qemuLogContext *ctxt = QEMU_LOG_CONTEXT(object);
+    domainLogContext *ctxt = DOMAIN_LOG_CONTEXT(object);
     VIR_DEBUG("ctxt=%p", ctxt);
 
     virLogManagerFree(ctxt->manager);
     VIR_FREE(ctxt->path);
     VIR_FORCE_CLOSE(ctxt->writefd);
     VIR_FORCE_CLOSE(ctxt->readfd);
-    G_OBJECT_CLASS(qemu_log_context_parent_class)->finalize(object);
+    G_OBJECT_CLASS(domain_log_context_parent_class)->finalize(object);
 }
 
 
-qemuLogContext *
-qemuLogContextNew(virQEMUDriver *driver,
-                  virDomainObj *vm,
-                  const char *basename)
+domainLogContext *
+domainLogContextNew(virQEMUDriver *driver,
+                    virDomainObj *vm,
+                    const char *basename)
 {
     g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
-    qemuLogContext *ctxt = QEMU_LOG_CONTEXT(g_object_new(QEMU_TYPE_LOG_CONTEXT, NULL));
+    domainLogContext *ctxt = DOMAIN_LOG_CONTEXT(g_object_new(DOMAIN_TYPE_LOG_CONTEXT, NULL));
 
     VIR_DEBUG("Context new %p stdioLogD=%d", ctxt, cfg->stdioLogD);
     ctxt->writefd = -1;
@@ -155,8 +155,8 @@ qemuLogContextNew(virQEMUDriver *driver,
 
 
 int
-qemuLogContextWrite(qemuLogContext *ctxt,
-                    const char *fmt, ...)
+domainLogContextWrite(domainLogContext *ctxt,
+                      const char *fmt, ...)
 {
     va_list argptr;
     g_autofree char *message = NULL;
@@ -186,8 +186,8 @@ qemuLogContextWrite(qemuLogContext *ctxt,
 
 
 ssize_t
-qemuLogContextRead(qemuLogContext *ctxt,
-                   char **msg)
+domainLogContextRead(domainLogContext *ctxt,
+                     char **msg)
 {
     char *buf;
     size_t buflen;
@@ -238,7 +238,7 @@ qemuLogContextRead(qemuLogContext *ctxt,
 
 
 /**
- * qemuLogContextFilter: Read and filter log for relevant messages
+ * domainLogContextFilter: Read and filter log for relevant messages
  * @ctxt: the domain log context
  * @msg: pointer to buffer to store the read messages in
  * @max: maximum length of the message returned in @msg after filtering
@@ -249,9 +249,9 @@ qemuLogContextRead(qemuLogContext *ctxt,
  * after a new line if possible.
  */
 int
-qemuLogContextReadFiltered(qemuLogContext *ctxt,
-                           char **msg,
-                           size_t max)
+domainLogContextReadFiltered(domainLogContext *ctxt,
+                             char **msg,
+                             size_t max)
 {
     char *buf;
     char *eol;
@@ -259,7 +259,7 @@ qemuLogContextReadFiltered(qemuLogContext *ctxt,
     size_t skip;
     ssize_t got;
 
-    if ((got = qemuLogContextRead(ctxt, &buf)) < 0)
+    if ((got = domainLogContextRead(ctxt, &buf)) < 0)
         return -1;
 
     /* Filter out debug messages from intermediate libvirt process */
@@ -302,14 +302,14 @@ qemuLogContextReadFiltered(qemuLogContext *ctxt,
 
 
 int
-qemuLogContextGetWriteFD(qemuLogContext *ctxt)
+domainLogContextGetWriteFD(domainLogContext *ctxt)
 {
     return ctxt->writefd;
 }
 
 
 void
-qemuLogContextMarkPosition(qemuLogContext *ctxt)
+domainLogContextMarkPosition(domainLogContext *ctxt)
 {
     if (ctxt->manager)
         virLogManagerDomainGetLogFilePosition(ctxt->manager,
@@ -323,7 +323,7 @@ qemuLogContextMarkPosition(qemuLogContext *ctxt)
 
 
 virLogManager *
-qemuLogContextGetManager(qemuLogContext *ctxt)
+domainLogContextGetManager(domainLogContext *ctxt)
 {
     return ctxt->manager;
 }
diff --git a/src/hypervisor/domain_logcontext.h b/src/hypervisor/domain_logcontext.h
new file mode 100644
index 0000000000..0842f994d6
--- /dev/null
+++ b/src/hypervisor/domain_logcontext.h
@@ -0,0 +1,41 @@
+/*
+ * domain_logcontext.h: Domin log context
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <glib-object.h>
+#include "logging/log_manager.h"
+#include "virconftypes.h"
+
+#define DOMAIN_TYPE_LOG_CONTEXT domain_log_context_get_type()
+G_DECLARE_FINAL_TYPE(domainLogContext, domain_log_context, DOMAIN, LOG_CONTEXT, GObject);
+
+domainLogContext *domainLogContextNew(virQEMUDriver *driver,
+                                      virDomainObj *vm,
+                                      const char *basename);
+int domainLogContextWrite(domainLogContext *ctxt,
+                          const char *fmt, ...) G_GNUC_PRINTF(2, 3);
+ssize_t domainLogContextRead(domainLogContext *ctxt,
+                             char **msg);
+int domainLogContextReadFiltered(domainLogContext *ctxt,
+                                 char **msg,
+                                 size_t max);
+int domainLogContextGetWriteFD(domainLogContext *ctxt);
+void domainLogContextMarkPosition(domainLogContext *ctxt);
+
+virLogManager *domainLogContextGetManager(domainLogContext *ctxt);
diff --git a/src/hypervisor/meson.build b/src/hypervisor/meson.build
index 819a9a82a2..c32703af88 100644
--- a/src/hypervisor/meson.build
+++ b/src/hypervisor/meson.build
@@ -2,6 +2,7 @@ hypervisor_sources = [
   'domain_cgroup.c',
   'domain_driver.c',
   'domain_interface.c',
+  'domain_logcontext.c',
   'virclosecallbacks.c',
   'virhostdev.c',
 ]
diff --git a/src/qemu/meson.build b/src/qemu/meson.build
index 2a85e2e604..43a8ad7c3b 100644
--- a/src/qemu/meson.build
+++ b/src/qemu/meson.build
@@ -22,7 +22,6 @@ qemu_driver_sources = [
   'qemu_hotplug.c',
   'qemu_interface.c',
   'qemu_interop_config.c',
-  'qemu_logcontext.c',
   'qemu_migration.c',
   'qemu_migration_cookie.c',
   'qemu_migration_params.c',
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 1fc4e2f33f..411e80e94e 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -5399,7 +5399,7 @@ static void G_GNUC_PRINTF(5, 6)
 qemuDomainObjTaintMsg(virQEMUDriver *driver,
                       virDomainObj *obj,
                       virDomainTaintFlags taint,
-                      qemuLogContext *logCtxt,
+                      domainLogContext *logCtxt,
                       const char *fmt, ...)
 {
     virErrorPtr orig_err = NULL;
@@ -5452,12 +5452,12 @@ qemuDomainObjTaintMsg(virQEMUDriver *driver,
         goto cleanup;
 
     if (logCtxt) {
-        rc = qemuLogContextWrite(logCtxt,
-                                 "%s: Domain id=%d is tainted: %s%s%s%s\n",
-                                 timestamp,
-                                 obj->def->id,
-                                 virDomainTaintTypeToString(taint),
-                                 extraprefix, extramsg, extrasuffix);
+        rc = domainLogContextWrite(logCtxt,
+                                   "%s: Domain id=%d is tainted: %s%s%s%s\n",
+                                   timestamp,
+                                   obj->def->id,
+                                   virDomainTaintTypeToString(taint),
+                                   extraprefix, extramsg, extrasuffix);
     } else {
         rc = qemuDomainLogAppendMessage(driver, obj,
                                         "%s: Domain id=%d is tainted: %s%s%s%s\n",
@@ -5478,7 +5478,7 @@ qemuDomainObjTaintMsg(virQEMUDriver *driver,
 void qemuDomainObjTaint(virQEMUDriver *driver,
                         virDomainObj *obj,
                         virDomainTaintFlags taint,
-                        qemuLogContext *logCtxt)
+                        domainLogContext *logCtxt)
 {
     qemuDomainObjTaintMsg(driver, obj, taint, logCtxt, NULL);
     qemuDomainSaveStatus(obj);
@@ -5487,7 +5487,7 @@ void qemuDomainObjTaint(virQEMUDriver *driver,
 static void
 qemuDomainObjCheckMachineTaint(virQEMUDriver *driver,
                                virDomainObj *obj,
-                               qemuLogContext *logCtxt)
+                               domainLogContext *logCtxt)
 {
     qemuDomainObjPrivate *priv = obj->privateData;
     virQEMUCaps *qemuCaps = priv->qemuCaps;
@@ -5505,7 +5505,7 @@ qemuDomainObjCheckMachineTaint(virQEMUDriver *driver,
 static void
 qemuDomainObjCheckCPUTaint(virQEMUDriver *driver,
                            virDomainObj *obj,
-                           qemuLogContext *logCtxt,
+                           domainLogContext *logCtxt,
                            bool incomingMigration)
 {
     qemuDomainObjPrivate *priv = obj->privateData;
@@ -5537,7 +5537,7 @@ qemuDomainObjCheckCPUTaint(virQEMUDriver *driver,
 
 void qemuDomainObjCheckTaint(virQEMUDriver *driver,
                              virDomainObj *obj,
-                             qemuLogContext *logCtxt,
+                             domainLogContext *logCtxt,
                              bool incomingMigration)
 {
     size_t i;
@@ -5593,7 +5593,7 @@ void qemuDomainObjCheckTaint(virQEMUDriver *driver,
 void qemuDomainObjCheckDiskTaint(virQEMUDriver *driver,
                                  virDomainObj *obj,
                                  virDomainDiskDef *disk,
-                                 qemuLogContext *logCtxt)
+                                 domainLogContext *logCtxt)
 {
     if (disk->rawio == VIR_TRISTATE_BOOL_YES)
         qemuDomainObjTaint(driver, obj, VIR_DOMAIN_TAINT_HIGH_PRIVILEGES,
@@ -5610,7 +5610,7 @@ void qemuDomainObjCheckDiskTaint(virQEMUDriver *driver,
 void qemuDomainObjCheckHostdevTaint(virQEMUDriver *driver,
                                     virDomainObj *obj,
                                     virDomainHostdevDef *hostdev,
-                                    qemuLogContext *logCtxt)
+                                    domainLogContext *logCtxt)
 {
     if (!virHostdevIsSCSIDevice(hostdev))
         return;
@@ -5623,7 +5623,7 @@ void qemuDomainObjCheckHostdevTaint(virQEMUDriver *driver,
 void qemuDomainObjCheckNetTaint(virQEMUDriver *driver,
                                 virDomainObj *obj,
                                 virDomainNetDef *net,
-                                qemuLogContext *logCtxt)
+                                domainLogContext *logCtxt)
 {
     /* script is only useful for NET_TYPE_ETHERNET (qemu) and
      * NET_TYPE_BRIDGE (xen), but could be (incorrectly) specified for
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index e810f79599..dba2696a27 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -26,13 +26,13 @@
 #include "virperf.h"
 #include "domain_addr.h"
 #include "domain_conf.h"
+#include "domain_logcontext.h"
 #include "qemu_monitor.h"
 #include "qemu_agent.h"
 #include "qemu_blockjob.h"
 #include "qemu_domainjob.h"
 #include "qemu_conf.h"
 #include "qemu_capabilities.h"
-#include "qemu_logcontext.h"
 #include "qemu_migration_params.h"
 #include "qemu_nbdkit.h"
 #include "qemu_slirp.h"
@@ -641,24 +641,24 @@ char *qemuDomainDefFormatLive(virQEMUDriver *driver,
 void qemuDomainObjTaint(virQEMUDriver *driver,
                         virDomainObj *obj,
                         virDomainTaintFlags taint,
-                        qemuLogContext *logCtxt);
+                        domainLogContext *logCtxt);
 
 void qemuDomainObjCheckTaint(virQEMUDriver *driver,
                              virDomainObj *obj,
-                             qemuLogContext *logCtxt,
+                             domainLogContext *logCtxt,
                              bool incomingMigration);
 void qemuDomainObjCheckDiskTaint(virQEMUDriver *driver,
                                  virDomainObj *obj,
                                  virDomainDiskDef *disk,
-                                 qemuLogContext *logCtxt);
+                                 domainLogContext *logCtxt);
 void qemuDomainObjCheckHostdevTaint(virQEMUDriver *driver,
                                     virDomainObj *obj,
                                     virDomainHostdevDef *disk,
-                                    qemuLogContext *logCtxt);
+                                    domainLogContext *logCtxt);
 void qemuDomainObjCheckNetTaint(virQEMUDriver *driver,
                                 virDomainObj *obj,
                                 virDomainNetDef *net,
-                                qemuLogContext *logCtxt);
+                                domainLogContext *logCtxt);
 
 int qemuDomainLogAppendMessage(virQEMUDriver *driver,
                                virDomainObj *vm,
diff --git a/src/qemu/qemu_logcontext.h b/src/qemu/qemu_logcontext.h
deleted file mode 100644
index 738e908bc3..0000000000
--- a/src/qemu/qemu_logcontext.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * qemu_logcontext.h: QEMU log context
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library.  If not, see
- * <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <glib-object.h>
-#include "qemu_conf.h"
-#include "logging/log_manager.h"
-
-#define QEMU_TYPE_LOG_CONTEXT qemu_log_context_get_type()
-G_DECLARE_FINAL_TYPE(qemuLogContext, qemu_log_context, QEMU, LOG_CONTEXT, GObject);
-
-qemuLogContext *qemuLogContextNew(virQEMUDriver *driver,
-                                  virDomainObj *vm,
-                                  const char *basename);
-int qemuLogContextWrite(qemuLogContext *ctxt,
-                        const char *fmt, ...) G_GNUC_PRINTF(2, 3);
-ssize_t qemuLogContextRead(qemuLogContext *ctxt,
-                           char **msg);
-int qemuLogContextReadFiltered(qemuLogContext *ctxt,
-                               char **msg,
-                               size_t max);
-int qemuLogContextGetWriteFD(qemuLogContext *ctxt);
-void qemuLogContextMarkPosition(qemuLogContext *ctxt);
-
-virLogManager *qemuLogContextGetManager(qemuLogContext *ctxt);
diff --git a/src/qemu/qemu_nbdkit.c b/src/qemu/qemu_nbdkit.c
index f099f35e1e..de7c62a037 100644
--- a/src/qemu/qemu_nbdkit.c
+++ b/src/qemu/qemu_nbdkit.c
@@ -1185,7 +1185,7 @@ qemuNbdkitProcessStart(qemuNbdkitProcess *proc,
     g_autofree char *uristring = NULL;
     g_autofree char *basename = g_strdup_printf("%s-nbdkit-%i", vm->def->name, proc->source->id);
     int logfd = -1;
-    g_autoptr(qemuLogContext) logContext = NULL;
+    g_autoptr(domainLogContext) logContext = NULL;
 #if WITH_NBDKIT
     struct nbd_handle *nbd = NULL;
 #endif
@@ -1200,12 +1200,12 @@ qemuNbdkitProcessStart(qemuNbdkitProcess *proc,
     if (!(cmd = qemuNbdkitProcessBuildCommand(proc)))
         return -1;
 
-    if (!(logContext = qemuLogContextNew(driver, vm, basename))) {
+    if (!(logContext = domainLogContextNew(driver, vm, basename))) {
         virLastErrorPrefixMessage("%s", _("can't connect to virtlogd"));
         return -1;
     }
 
-    logfd = qemuLogContextGetWriteFD(logContext);
+    logfd = domainLogContextGetWriteFD(logContext);
 
     VIR_DEBUG("starting nbdkit process for %s", qemuBlockStorageSourceGetStorageNodename(proc->source));
     virCommandSetErrorFD(cmd, &logfd);
@@ -1283,7 +1283,7 @@ qemuNbdkitProcessStart(qemuNbdkitProcess *proc,
     if ((uri = qemuBlockStorageSourceGetURI(proc->source)))
         uristring = virURIFormat(uri);
 
-    if (qemuLogContextReadFiltered(logContext, &errbuf, 1024) < 0)
+    if (domainLogContextReadFiltered(logContext, &errbuf, 1024) < 0)
         VIR_WARN("Unable to read from nbdkit log");
 
     virReportError(VIR_ERR_OPERATION_FAILED,
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index bee7a39e4e..d182206f20 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -1840,7 +1840,7 @@ qemuProcessMonitorReportLogError(qemuMonitor *mon,
 static void
 qemuProcessMonitorLogFree(void *opaque)
 {
-    qemuLogContext *logCtxt = opaque;
+    domainLogContext *logCtxt = opaque;
     g_clear_object(&logCtxt);
 }
 
@@ -1866,7 +1866,7 @@ static int
 qemuConnectMonitor(virQEMUDriver *driver,
                    virDomainObj *vm,
                    int asyncJob,
-                   qemuLogContext *logCtxt,
+                   domainLogContext *logCtxt,
                    bool reconnect)
 {
     qemuDomainObjPrivate *priv = vm->privateData;
@@ -1918,13 +1918,13 @@ qemuConnectMonitor(virQEMUDriver *driver,
 
 
 static int
-qemuProcessReportLogError(qemuLogContext *logCtxt,
+qemuProcessReportLogError(domainLogContext *logCtxt,
                           const char *msgprefix)
 {
     g_autofree char *logmsg = NULL;
 
     /* assume that 1024 chars of qemu log is the right balance */
-    if (qemuLogContextReadFiltered(logCtxt, &logmsg, 1024) < 0)
+    if (domainLogContextReadFiltered(logCtxt, &logmsg, 1024) < 0)
         return -1;
 
     virResetLastError();
@@ -1943,7 +1943,7 @@ qemuProcessMonitorReportLogError(qemuMonitor *mon G_GNUC_UNUSED,
                                  const char *msg,
                                  void *opaque)
 {
-    qemuLogContext *logCtxt = opaque;
+    domainLogContext *logCtxt = opaque;
     qemuProcessReportLogError(logCtxt, msg);
 }
 
@@ -2244,7 +2244,7 @@ static int
 qemuProcessWaitForMonitor(virQEMUDriver *driver,
                           virDomainObj *vm,
                           int asyncJob,
-                          qemuLogContext *logCtxt)
+                          domainLogContext *logCtxt)
 {
     int ret = -1;
     g_autoptr(GHashTable) info = NULL;
@@ -4740,7 +4740,7 @@ static void
 qemuLogOperation(virDomainObj *vm,
                  const char *msg,
                  virCommand *cmd,
-                 qemuLogContext *logCtxt)
+                 domainLogContext *logCtxt)
 {
     g_autofree char *timestamp = NULL;
     qemuDomainObjPrivate *priv = vm->privateData;
@@ -4754,20 +4754,21 @@ qemuLogOperation(virDomainObj *vm,
     if ((timestamp = virTimeStringNow()) == NULL)
         return;
 
-    if (qemuLogContextWrite(logCtxt,
-                            "%s: %s %s, qemu version: %d.%d.%d%s, kernel: %s, hostname: %s\n",
-                            timestamp, msg, VIR_LOG_VERSION_STRING,
-                            (qemuVersion / 1000000) % 1000,
-                            (qemuVersion / 1000) % 1000,
-                            qemuVersion % 1000,
-                            NULLSTR_EMPTY(package),
-                            uts.release,
-                            NULLSTR_EMPTY(hostname)) < 0)
+    if (domainLogContextWrite(logCtxt,
+                              "%s: %s %s, qemu version: %d.%d.%d%s, kernel: %s,
+                              hostname: %s\n",
+                              timestamp, msg, VIR_LOG_VERSION_STRING,
+                              (qemuVersion / 1000000) % 1000,
+                              (qemuVersion / 1000) % 1000,
+                              qemuVersion % 1000,
+                              NULLSTR_EMPTY(package),
+                              uts.release,
+                              NULLSTR_EMPTY(hostname)) < 0)
         return;
 
     if (cmd) {
         g_autofree char *args = virCommandToString(cmd, true);
-        qemuLogContextWrite(logCtxt, "%s\n", args);
+        domainLogContextWrite(logCtxt, "%s\n", args);
     }
 }
 
@@ -7765,7 +7766,7 @@ qemuProcessLaunch(virConnectPtr conn,
     int ret = -1;
     int rv;
     int logfile = -1;
-    g_autoptr(qemuLogContext) logCtxt = NULL;
+    g_autoptr(domainLogContext) logCtxt = NULL;
     qemuDomainObjPrivate *priv = vm->privateData;
     g_autoptr(virCommand) cmd = NULL;
     struct qemuProcessHookData hookData;
@@ -7815,11 +7816,11 @@ qemuProcessLaunch(virConnectPtr conn,
     hookData.cfg = cfg;
 
     VIR_DEBUG("Creating domain log file");
-    if (!(logCtxt = qemuLogContextNew(driver, vm, vm->def->name))) {
+    if (!(logCtxt = domainLogContextNew(driver, vm, vm->def->name))) {
         virLastErrorPrefixMessage("%s", _("can't connect to virtlogd"));
         goto cleanup;
     }
-    logfile = qemuLogContextGetWriteFD(logCtxt);
+    logfile = domainLogContextGetWriteFD(logCtxt);
 
     if (qemuProcessGenID(vm, flags) < 0)
         goto cleanup;
@@ -7855,7 +7856,7 @@ qemuProcessLaunch(virConnectPtr conn,
 
     qemuDomainObjCheckTaint(driver, vm, logCtxt, incoming != NULL);
 
-    qemuLogContextMarkPosition(logCtxt);
+    domainLogContextMarkPosition(logCtxt);
 
     if (qemuProcessEnableDomainNamespaces(driver, vm) < 0)
         goto cleanup;
-- 
2.47.0



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux