diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h index 0000b53d96..60c410940e 100644 --- a/src/qemu/qemu_conf.h +++ b/src/qemu/qemu_conf.h @@ -177,7 +177,7 @@ struct _virQEMUDriver { /* Immutable pointer, self-locking APIs */ virDomainObjListPtr domains; - /* Lazy-load on first use. Unsafe. XXX */ + /* Immutable pointer */ char *qemuImgBinary; /* Immutable pointer, lockless APIs. Pointless abstraction */ diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index cb031d8d22..5bf0ab002a 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 149558fdc2..979a027b3f 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 ?