Use qemuDomainLogAppendMessage rather than attempting to open a new
logging context with file descriptors. The new approach allows to log
the message even if qemu is still running at that point which appens
during migration finish phase where qemuProcessStop is killing qemu.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1312188
---
src/qemu/qemu_process.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 66bc4b1..84454ab 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5605,7 +5605,6 @@ void qemuProcessStop(virQEMUDriverPtr driver,
size_t i;
char *timestamp;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
- qemuDomainLogContextPtr logCtxt = NULL;
VIR_DEBUG("Shutting down vm=%p name=%s id=%d pid=%llu, "
"reason=%s, asyncJob=%s, flags=%x",
@@ -5642,13 +5641,9 @@ void qemuProcessStop(virQEMUDriverPtr driver,
/* Wake up anything waiting on domain condition */
virDomainObjBroadcast(vm);
- if ((logCtxt = qemuDomainLogContextNew(driver, vm,
- QEMU_DOMAIN_LOG_CONTEXT_MODE_STOP))) {
- if ((timestamp = virTimeStringNow()) != NULL) {
- qemuDomainLogContextWrite(logCtxt, "%s: shutting down\n",
timestamp);
- VIR_FREE(timestamp);
- }
- qemuDomainLogContextFree(logCtxt);
+ if ((timestamp = virTimeStringNow()) != NULL) {
+ qemuDomainLogAppendMessage(driver, vm, "%s: shutting down\n",
timestamp);
+ VIR_FREE(timestamp);
}
/* Clear network bandwidth */
--
2.8.3