summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Fehlig <jfehlig@suse.com>2016-05-12 14:40:28 -0600
committerJim Fehlig <jfehlig@suse.com>2016-05-13 10:08:34 -0600
commit400e716d7d8371fa718c27bb4f05b9a68929e64a (patch)
treed88623872477df4086ddb39c2dabf080de3daa9b
parent3902f634bf32f9e7a98fd7cfb7910ccef5021fb5 (diff)
downloadlibvirt-400e716d7d8371fa718c27bb4f05b9a68929e64a.tar.gz
libxl: don't attempt to probe a non-existent emulator
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>
-rw-r--r--src/libxl/libxl_conf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index d927b374e6..3c388c7796 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -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);