|
|
910633 |
From cd1b72fdd821d1fb4d08198833ea782651760e01 Mon Sep 17 00:00:00 2001
|
|
|
910633 |
Message-Id: <cd1b72fdd821d1fb4d08198833ea782651760e01.1414680021.git.crobinso@redhat.com>
|
|
|
910633 |
From: Lubomir Rintel <lkundrak@v3.sk>
|
|
|
910633 |
Date: Thu, 16 Oct 2014 21:28:00 +0200
|
|
|
910633 |
Subject: [PATCH 4/5] qemu: x86_64 is good enough for i686
|
|
|
910633 |
|
|
|
910633 |
virt-manager on Fedora sets up i686 hosts with "/usr/bin/qemu-kvm" emulator,
|
|
|
910633 |
which in turn unconditionally execs qemu-system-x86_64 querying capabilities
|
|
|
910633 |
then fails:
|
|
|
910633 |
|
|
|
910633 |
Error launching details: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686'
|
|
|
910633 |
|
|
|
910633 |
Traceback (most recent call last):
|
|
|
910633 |
File "/usr/share/virt-manager/virtManager/engine.py", line 748, in _show_vm_helper
|
|
|
910633 |
details = self._get_details_dialog(uri, vm.get_connkey())
|
|
|
910633 |
File "/usr/share/virt-manager/virtManager/engine.py", line 726, in _get_details_dialog
|
|
|
910633 |
obj = vmmDetails(conn.get_vm(connkey))
|
|
|
910633 |
File "/usr/share/virt-manager/virtManager/details.py", line 399, in __init__
|
|
|
910633 |
self.init_details()
|
|
|
910633 |
File "/usr/share/virt-manager/virtManager/details.py", line 784, in init_details
|
|
|
910633 |
domcaps = self.vm.get_domain_capabilities()
|
|
|
910633 |
File "/usr/share/virt-manager/virtManager/domain.py", line 518, in get_domain_capabilities
|
|
|
910633 |
self.get_xmlobj().os.machine, self.get_xmlobj().type)
|
|
|
910633 |
File "/usr/lib/python2.7/site-packages/libvirt.py", line 3492, in getDomainCapabilities
|
|
|
910633 |
if ret is None: raise libvirtError ('virConnectGetDomainCapabilities() failed', conn=self)
|
|
|
910633 |
libvirtError: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686'
|
|
|
910633 |
|
|
|
910633 |
Journal:
|
|
|
910633 |
|
|
|
910633 |
Oct 16 21:08:26 goatlord.localdomain libvirtd[1530]: invalid argument: architecture from emulator 'x86_64' doesn't match given architecture 'i686'
|
|
|
910633 |
|
|
|
910633 |
(cherry picked from commit afe8f4200f6e80d2510731165dd2cdae741bd9fb)
|
|
|
910633 |
---
|
|
|
910633 |
src/qemu/qemu_driver.c | 3 ++-
|
|
|
910633 |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
910633 |
|
|
|
910633 |
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
|
|
|
910633 |
index e873d45..d379c1f 100644
|
|
|
910633 |
--- a/src/qemu/qemu_driver.c
|
|
|
910633 |
+++ b/src/qemu/qemu_driver.c
|
|
|
910633 |
@@ -17572,7 +17572,8 @@ qemuConnectGetDomainCapabilities(virConnectPtr conn,
|
|
|
910633 |
|
|
|
910633 |
arch_from_caps = virQEMUCapsGetArch(qemuCaps);
|
|
|
910633 |
|
|
|
910633 |
- if (arch_from_caps != arch) {
|
|
|
910633 |
+ if (arch_from_caps != arch &&
|
|
|
910633 |
+ (arch_from_caps != VIR_ARCH_X86_64 || arch != VIR_ARCH_I686)) {
|
|
|
910633 |
virReportError(VIR_ERR_INVALID_ARG,
|
|
|
910633 |
_("architecture from emulator '%s' doesn't "
|
|
|
910633 |
"match given architecture '%s'"),
|
|
|
910633 |
--
|
|
|
910633 |
2.1.0
|
|
|
910633 |
|