[libvirt] [PATCH 1/2] libxl: don't attempt to probe a non-existent emulator

Jim Fehlig jfehlig at suse.com
Thu May 12 20:40:28 UTC 2016

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
via virCommandRun().

Signed-off-by: Jim Fehlig <jfehlig at suse.com>
 src/libxl/libxl_conf.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index d927b37..3c388c7 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);

More information about the libvir-list mailing list