From: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- src/qemu/qemu_virtiofs.c | 53 +++++++++------------------------------- 1 file changed, 12 insertions(+), 41 deletions(-)
diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c index dd3e0dd9fe..aa282024a4 100644 --- a/src/qemu/qemu_virtiofs.c +++ b/src/qemu/qemu_virtiofs.c @@ -75,19 +75,6 @@ qemuVirtioFSCreateSocketFilename(virDomainObj *vm, } -static char * -qemuVirtioFSCreateLogFilename(virQEMUDriverConfig *cfg, - const virDomainDef *def, - const char *alias) -{ - g_autofree char *name = NULL; - - name = g_strdup_printf("%s-%s", def->name, alias); - - return virFileBuildPath(cfg->logDir, name, "-virtiofsd.log"); -} - - static int qemuVirtioFSOpenChardev(virQEMUDriver *driver, virDomainObj *vm, @@ -244,10 +231,11 @@ qemuVirtioFSStart(virQEMUDriver *driver, g_autoptr(virCommand) cmd = NULL; g_autofree char *socket_path = NULL; g_autofree char *pidfile = NULL; - g_autofree char *logpath = NULL; + g_autofree char *logname = NULL; pid_t pid = (pid_t) -1; VIR_AUTOCLOSE fd = -1; - VIR_AUTOCLOSE logfd = -1; + int logfd = -1; + g_autoptr(domainLogContext) logContext = NULL; int rc; if (!virFileIsExecutable(fs->binary)) { @@ -272,35 +260,18 @@ qemuVirtioFSStart(virQEMUDriver *driver, if ((fd = qemuVirtioFSOpenChardev(driver, vm, socket_path)) < 0) goto error; - logpath = qemuVirtioFSCreateLogFilename(cfg, vm->def, fs->info.alias); - - if (cfg->stdioLogD) { - g_autoptr(virLogManager) logManager = virLogManagerNew(driver->privileged); - if (!logManager) - goto error; - - if ((logfd = virLogManagerDomainOpenLogFile(logManager, - "qemu", - vm->def->uuid, - vm->def->name, - logpath, - 0, - NULL, NULL)) < 0) - goto error; - } else { - if ((logfd = open(logpath, O_WRONLY | O_CREAT | O_APPEND, S_IRUSR | S_IWUSR)) < 0) { - virReportSystemError(errno, _("failed to create logfile %1$s"), - logpath); - goto error; - } - if (virSetCloseExec(logfd) < 0) { - virReportSystemError(errno, _("failed to set close-on-exec flag on %1$s"), - logpath); - goto error; - } + logname = g_strdup_printf("%s-%s-virtiofsd", vm->def->name, fs->info.alias); + if (!(logContext = domainLogContextNew(cfg->stdioLogD, cfg->logDir, + QEMU_DRIVER_NAME, + vm, driver->privileged, + logname))) { + virLastErrorPrefixMessage("%s", _("can't open log context")); + goto error; } + logfd = domainLogContextGetWriteFD(logContext); + if (!(cmd = qemuVirtioFSBuildCommandLine(cfg, fs, &fd))) goto error; -- 2.47.0