qemuConnectGetDomainCapabilities: Report error on unknown arch

If user hasn't provided any @emulatorbin, the qemuCaps are
searched by @arch provided (which in fact can be guessed from the
host). However, there's no guarantee that the qemu binary for
@arch will exist.  Therefore qemu capabilities may be nonexistent
too. If that's the case, we should throw an error message prior
jumping onto 'cleanup' label as the helper lookup function
remains silent on no search result.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2014-07-24 16:40:01 +02:00
parent 9318121db8
commit 3d968f409f

View File

@ -16976,8 +16976,12 @@ qemuConnectGetDomainCapabilities(virConnectPtr conn,
}
} else {
if (!(qemuCaps = virQEMUCapsCacheLookupByArch(driver->qemuCapsCache,
arch)))
arch))) {
virReportError(VIR_ERR_INVALID_ARG,
_("unable to find any emulator to serve '%s' "
"architecture"), virArchToString(arch));
goto cleanup;
}
emulatorbin = virQEMUCapsGetBinary(qemuCaps);
}