
On Fri, Feb 01, 2013 at 14:00:47 +0100, Jiri Denemark wrote:
On Fri, Feb 01, 2013 at 11:18:35 +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
--- src/qemu/qemu_domain.c | 11 +++-------- src/qemu/qemu_driver.c | 3 +++ 2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index cb031d8..5bf0ab0 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1612,14 +1612,9 @@ cleanup: const char * qemuFindQemuImgBinary(virQEMUDriverPtr driver) { - if (!driver->qemuImgBinary) { - driver->qemuImgBinary = virFindFileInPath("kvm-img"); - if (!driver->qemuImgBinary) - driver->qemuImgBinary = virFindFileInPath("qemu-img"); - if (!driver->qemuImgBinary) - virReportError(VIR_ERR_INTERNAL_ERROR, - "%s", _("unable to find kvm-img or qemu-img")); - } + if (!driver->qemuImgBinary) + virReportError(VIR_ERR_INTERNAL_ERROR, + "%s", _("unable to find kvm-img or qemu-img"));
return driver->qemuImgBinary; } diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1644792..ed44b06 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -738,6 +738,9 @@ qemuStartup(bool privileged, virStrerror(-rc, ebuf, sizeof(ebuf))); }
+ qemu_driver->qemuImgBinary = virFindFileInPath("kvm-img"); + if (!qemu_driver->qemuImgBinary) + qemu_driver->qemuImgBinary = virFindFileInPath("qemu-img");
if (!(qemu_driver->lockManager = virLockManagerPluginNew(cfg->lockManagerName ?
After this patch, users cannot install missing {qemu,kvm}-img on the fly without restarting libvirtd. However, since the binary is either part of qemu package or the package depend on it and we already require libvirtd restart after installing qemu, this change seems fine.
ACK
And this patch should also change the annotation in /* Lazy-load on first use. Unsafe. XXX */ char *qemuImgBinary; Jirka