]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Initialize qemuImageBinary path at startup
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 23 Jan 2013 12:19:15 +0000 (12:19 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 5 Feb 2013 19:22:26 +0000 (19:22 +0000)
src/qemu/qemu_conf.h
src/qemu/qemu_domain.c
src/qemu/qemu_driver.c

index 0000b53d96e57cb8859246c2569416b17d5564a7..60c410940ee25240354d9b61696fa7467bcf284d 100644 (file)
@@ -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 */
index cb031d8d2290e93dae080d7a4ae001bba5eaf3b7..5bf0ab002ac8980a88e4bc9061075cf86e9abf96 100644 (file)
@@ -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;
 }
index 149558fdc2fb036a7435604ef474d052de0e0c6c..979a027b3fd1200dd16b856503bfbe13651fbd70 100644 (file)
@@ -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 ?