]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: don't attempt to probe a non-existent emulator
authorJim Fehlig <jfehlig@suse.com>
Thu, 12 May 2016 20:40:28 +0000 (14:40 -0600)
committerJim Fehlig <jfehlig@suse.com>
Fri, 13 May 2016 16:08:34 +0000 (10:08 -0600)
When probing the <emulator> with '-help' to determine if
it is the old qemu, errors are reported if the emulator
doesn't exist

libvirt:  error : internal error: Child process
(/usr/lib/xen/bin/qemu-dm -help) unexpected exit status 127:
libvirt:  error : cannot execute binary /usr/lib/xen/bin/qemu-dm:
No such file or directory

Avoid the probe if the specified emulator doesn't exist,
squelching the error. There is no behavior change since
libxlDomainGetEmulatorType() would return
LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN if the probe failed
via virCommandRun().

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_conf.c

index d927b374e61a3d34e82f0f98dada240655fc8ac8..3c388c7796d93d59a9c3d0183a3949db77cd9ea7 100644 (file)
@@ -916,6 +916,9 @@ libxlDomainGetEmulatorType(const virDomainDef *def)
 
     if (def->os.type == VIR_DOMAIN_OSTYPE_HVM) {
         if (def->emulator) {
+            if (!virFileExists(def->emulator))
+                goto cleanup;
+
             cmd = virCommandNew(def->emulator);
 
             virCommandAddArgList(cmd, "-help", NULL);