It will come handy in the near future when we will filter some
capabilities based on it.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 4 +++-
src/qemu/qemu_capabilities.h | 3 ++-
src/qemu/qemu_migration.c | 3 ++-
src/qemu/qemu_process.c | 9 ++++++---
4 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index a04095e..3992b2b 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3583,7 +3583,9 @@ virQEMUCapsCacheLookup(virQEMUCapsCachePtr cache, const char
*binary)
virQEMUCapsPtr
-virQEMUCapsCacheLookupCopy(virQEMUCapsCachePtr cache, const char *binary)
+virQEMUCapsCacheLookupCopy(virQEMUCapsCachePtr cache,
+ const char *binary,
+ const char *machineType ATTRIBUTE_UNUSED)
{
virQEMUCapsPtr qemuCaps = virQEMUCapsCacheLookup(cache, binary);
virQEMUCapsPtr ret;
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 1c1227a..242a33d 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -291,7 +291,8 @@ virQEMUCapsCachePtr virQEMUCapsCacheNew(const char *libDir,
virQEMUCapsPtr virQEMUCapsCacheLookup(virQEMUCapsCachePtr cache,
const char *binary);
virQEMUCapsPtr virQEMUCapsCacheLookupCopy(virQEMUCapsCachePtr cache,
- const char *binary);
+ const char *binary,
+ const char *machineType);
virQEMUCapsPtr virQEMUCapsCacheLookupByArch(virQEMUCapsCachePtr cache,
virArch arch);
void virQEMUCapsCacheFree(virQEMUCapsCachePtr cache);
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 4506d87..8309b8f 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -2918,7 +2918,8 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
hostIPv6Capable = true;
}
if (!(qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- (*def)->emulator)))
+ (*def)->emulator,
+ (*def)->os.machine)))
goto cleanup;
qemuIPv6Capable = virQEMUCapsGet(qemuCaps, QEMU_CAPS_IPV6_MIGRATION);
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 43a64a1..49d6bf3 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3828,7 +3828,8 @@ qemuProcessReconnect(void *opaque)
*/
if (!priv->qemuCaps &&
!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- obj->def->emulator)))
+ obj->def->emulator,
+ obj->def->os.machine)))
goto error;
/* In case the domain shutdown while we were not running,
@@ -4460,7 +4461,8 @@ int qemuProcessStart(virConnectPtr conn,
VIR_DEBUG("Determining emulator version");
virObjectUnref(priv->qemuCaps);
if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- vm->def->emulator)))
+ vm->def->emulator,
+ vm->def->os.machine)))
goto cleanup;
/* network devices must be "prepared" before hostdevs, because
@@ -5498,7 +5500,8 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
VIR_DEBUG("Determining emulator version");
virObjectUnref(priv->qemuCaps);
if (!(priv->qemuCaps = virQEMUCapsCacheLookupCopy(driver->qemuCapsCache,
- vm->def->emulator)))
+ vm->def->emulator,
+ vm->def->os.machine)))
goto error;
VIR_DEBUG("Preparing monitor state");
--
2.0.5