diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2010-11-22 13:36:14 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2010-11-23 14:10:05 +0000 |
commit | 7f9cebc0c0a75891f1812c14f6396f63b1da85c1 (patch) | |
tree | d06f270031c14e8775dd7660e0f09652ef2da279 | |
parent | Remove trailing ':' from timestamp (diff) | |
download | libvirt-7f9cebc0c0a75891f1812c14f6396f63b1da85c1.tar.gz libvirt-7f9cebc0c0a75891f1812c14f6396f63b1da85c1.tar.bz2 libvirt-7f9cebc0c0a75891f1812c14f6396f63b1da85c1.zip |
Ensure logfile isn't truncated by shutdown message.
When running non-root, the QEMU log file is usually opened with
truncation, since there is no logrotate for non-root usage.
This means that when libvirt logs the shutdown timestamp, the
log is accidentally truncated
* src/qemu/qemu_driver.c: Never truncate log file with shutdown
message
-rw-r--r-- | src/qemu/qemu_driver.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 04cca4329..0dac75e53 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -741,7 +741,7 @@ static int qemuCgroupControllerActive(struct qemud_driver *driver, } static int -qemudLogFD(struct qemud_driver *driver, const char* name) +qemudLogFD(struct qemud_driver *driver, const char* name, bool append) { char logfile[PATH_MAX]; mode_t logmode; @@ -756,7 +756,7 @@ qemudLogFD(struct qemud_driver *driver, const char* name) logmode = O_CREAT | O_WRONLY; /* Only logrotate files in /var/log, so only append if running privileged */ - if (driver->privileged) + if (driver->privileged || append) logmode |= O_APPEND; else logmode |= O_TRUNC; @@ -3976,7 +3976,7 @@ static int qemudStartVMDaemon(virConnectPtr conn, } DEBUG0("Creating domain log file"); - if ((logfile = qemudLogFD(driver, vm->def->name)) < 0) + if ((logfile = qemudLogFD(driver, vm->def->name, false)) < 0) goto cleanup; emulator = vm->def->emulator; @@ -4271,7 +4271,7 @@ static void qemudShutdownVMDaemon(struct qemud_driver *driver, VIR_DEBUG("Shutting down VM '%s' pid=%d migrated=%d", vm->def->name, vm->pid, migrated); - if ((logfile = qemudLogFD(driver, vm->def->name)) < 0) { + if ((logfile = qemudLogFD(driver, vm->def->name, true)) < 0) { /* To not break the normal domain shutdown process, skip the * timestamp log writing if failed on opening log file. */ VIR_WARN("Unable to open logfile: %s", |