From 2205d58b32a7202c5c0185c1ec077551236f6ee6 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 4 Nov 2015 12:45:15 +0100 Subject: [PATCH] qemu: Close logfd when closing monitor Remembering to call qemuMonitorSetDomainLog in the right paths before calling qemuProcessStop is annoying and easy to forget. And I already forgot to do so in commit v1.2.8-52-g0389060: logfd may be leaked if QEMU process dies between Prepare and Finish migration phases. Signed-off-by: Jiri Denemark --- src/qemu/qemu_monitor.c | 2 ++ src/qemu/qemu_process.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index f63c4eadea..50c6549377 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -960,6 +960,8 @@ qemuMonitorClose(qemuMonitorPtr mon) PROBE(QEMU_MONITOR_CLOSE, "mon=%p refs=%d", mon, mon->parent.parent.u.s.refs); + qemuMonitorSetDomainLog(mon, -1); + if (mon->fd >= 0) { if (mon->watch) { virEventRemoveHandle(mon->watch); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f12ebec034..2192ad85ef 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5065,8 +5065,6 @@ int qemuProcessStart(virConnectPtr conn, /* We jump here if we failed to start the VM for any reason, or * if we failed to initialize the now running VM. kill it off and * pretend we never started it */ - if (priv->mon) - qemuMonitorSetDomainLog(priv->mon, -1); qemuProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, stop_flags); goto cleanup; }