Allow to specify a basename for the log file so that
qemuDomainLogContextNew() can be used to create log contexts for
secondary loggers.
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
Reviewed-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_domain.c | 5 +++--
src/qemu/qemu_domain.h | 3 ++-
src/qemu/qemu_process.c | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 4c882840b2..ae1d0af6f4 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -6878,7 +6878,8 @@ void qemuDomainObjCheckNetTaint(virQEMUDriver *driver,
qemuDomainLogContext *qemuDomainLogContextNew(virQEMUDriver *driver,
- virDomainObj *vm)
+ virDomainObj *vm,
+ const char *basename)
{
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
qemuDomainLogContext *ctxt =
QEMU_DOMAIN_LOG_CONTEXT(g_object_new(QEMU_TYPE_DOMAIN_LOG_CONTEXT, NULL));
@@ -6887,7 +6888,7 @@ qemuDomainLogContext *qemuDomainLogContextNew(virQEMUDriver
*driver,
ctxt->writefd = -1;
ctxt->readfd = -1;
- ctxt->path = g_strdup_printf("%s/%s.log", cfg->logDir,
vm->def->name);
+ ctxt->path = g_strdup_printf("%s/%s.log", cfg->logDir, basename);
if (cfg->stdioLogD) {
ctxt->manager = virLogManagerNew(driver->privileged);
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index e39419e7af..37eeb2b18d 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -660,7 +660,8 @@ void qemuDomainObjCheckNetTaint(virQEMUDriver *driver,
qemuDomainLogContext *logCtxt);
qemuDomainLogContext *qemuDomainLogContextNew(virQEMUDriver *driver,
- virDomainObj *vm);
+ virDomainObj *vm,
+ const char *basename);
int qemuDomainLogContextWrite(qemuDomainLogContext *ctxt,
const char *fmt, ...) G_GNUC_PRINTF(2, 3);
ssize_t qemuDomainLogContextRead(qemuDomainLogContext *ctxt,
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 039624c87b..a1a5c9ed6c 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7669,7 +7669,7 @@ qemuProcessLaunch(virConnectPtr conn,
hookData.cfg = cfg;
VIR_DEBUG("Creating domain log file");
- if (!(logCtxt = qemuDomainLogContextNew(driver, vm))) {
+ if (!(logCtxt = qemuDomainLogContextNew(driver, vm, vm->def->name))) {
virLastErrorPrefixMessage("%s", _("can't connect to
virtlogd"));
goto cleanup;
}
--
2.39.1