- bnc#907324 - libvirt: unsupported configuration: native I/O needs

either no disk cache or directsync cache mode, QEMU will fallback
  to aio=threads
  virtinst-set-cache-mode-unsafe-for-install.patch updated

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=212
This commit is contained in:
Charles Arnold 2014-12-01 20:20:03 +00:00 committed by Git OBS Bridge
parent 412f00bae8
commit 572c97ee60
6 changed files with 31 additions and 17 deletions

View File

@ -1,6 +1,10 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Dec 1 08:02:37 MST 2014 - carnold@suse.com Mon Dec 1 08:02:37 MST 2014 - carnold@suse.com
- bnc#907324 - libvirt: unsupported configuration: native I/O needs
either no disk cache or directsync cache mode, QEMU will fallback
to aio=threads
virtinst-set-cache-mode-unsafe-for-install.patch updated
- bnc#907319 - virt-manager: Unable to complete install: 'local - bnc#907319 - virt-manager: Unable to complete install: 'local
variable 'distro_distro' referenced before assignment variable 'distro_distro' referenced before assignment
virtinst-detect-suse-distros.patch updated virtinst-detect-suse-distros.patch updated

View File

@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
%define with_guestfs 0 %define with_guestfs 0
%define askpass_package "openssh-askpass" %define askpass_package "openssh-askpass"
%define qemu_user "qemu" %define qemu_user "qemu"

View File

@ -4,7 +4,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtinst/guest.py --- virt-manager-1.1.0.orig/virtinst/guest.py
+++ virt-manager-1.1.0/virtinst/guest.py +++ virt-manager-1.1.0/virtinst/guest.py
@@ -637,6 +637,15 @@ class Guest(XMLBuilder): @@ -639,6 +639,15 @@ class Guest(XMLBuilder):
return return
self.add_device(virtinst.VirtualGraphics(self.conn)) self.add_device(virtinst.VirtualGraphics(self.conn))
@ -20,7 +20,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
def add_default_devices(self): def add_default_devices(self):
self.add_default_graphics() self.add_default_graphics()
self.add_default_video_device() self.add_default_video_device()
@@ -644,6 +653,7 @@ class Guest(XMLBuilder): @@ -646,6 +655,7 @@ class Guest(XMLBuilder):
self.add_default_console_device() self.add_default_console_device()
self.add_default_usb_controller() self.add_default_usb_controller()
self.add_default_channels() self.add_default_channels()

View File

@ -2,7 +2,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtinst/urlfetcher.py --- virt-manager-1.1.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.1.0/virtinst/urlfetcher.py +++ virt-manager-1.1.0/virtinst/urlfetcher.py
@@ -404,6 +404,24 @@ def _distroFromContent(fetcher, arch, vm @@ -405,6 +405,24 @@ def _distroFromContent(fetcher, arch, vm
return ob return ob
@ -27,7 +27,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
def getDistroStore(guest, fetcher): def getDistroStore(guest, fetcher):
stores = [] stores = []
logging.debug("Finding distro store for location=%s", fetcher.location) logging.debug("Finding distro store for location=%s", fetcher.location)
@@ -423,6 +441,10 @@ def getDistroStore(guest, fetcher): @@ -424,6 +442,10 @@ def getDistroStore(guest, fetcher):
if dist: if dist:
return dist return dist
@ -38,7 +38,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
stores = _allstores[:] stores = _allstores[:]
# If user manually specified an os_distro, bump it's URL class # If user manually specified an os_distro, bump it's URL class
@@ -1158,6 +1180,13 @@ class ALTLinuxDistro(Distro): @@ -1159,6 +1181,13 @@ class ALTLinuxDistro(Distro):
logging.debug("Regex didn't match, not a %s distro", self.name) logging.debug("Regex didn't match, not a %s distro", self.name)
return False return False

View File

@ -2,7 +2,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtinst/guest.py --- virt-manager-1.1.0.orig/virtinst/guest.py
+++ virt-manager-1.1.0/virtinst/guest.py +++ virt-manager-1.1.0/virtinst/guest.py
@@ -633,7 +633,7 @@ class Guest(XMLBuilder): @@ -635,7 +635,7 @@ class Guest(XMLBuilder):
return return
if self.os.is_container(): if self.os.is_container():
return return
@ -11,7 +11,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
return return
self.add_device(virtinst.VirtualGraphics(self.conn)) self.add_device(virtinst.VirtualGraphics(self.conn))
@@ -771,6 +771,8 @@ class Guest(XMLBuilder): @@ -773,6 +773,8 @@ class Guest(XMLBuilder):
if self.conn.is_qemu(): if self.conn.is_qemu():
if self.os.arch == "s390x": if self.os.arch == "s390x":
preferred_emulator = "/usr/bin/qemu-system-s390x" preferred_emulator = "/usr/bin/qemu-system-s390x"
@ -20,7 +20,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
else: else:
preferred_emulator = "/usr/bin/qemu-system-x86_64" preferred_emulator = "/usr/bin/qemu-system-x86_64"
else: else:
@@ -877,7 +879,7 @@ class Guest(XMLBuilder): @@ -879,7 +881,7 @@ class Guest(XMLBuilder):
if not self._lookup_osdict_key(key, False): if not self._lookup_osdict_key(key, False):
return False return False
@ -29,7 +29,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
return True return True
if (self.os.is_arm_vexpress() and if (self.os.is_arm_vexpress() and
self.os.dtb and self.os.dtb and
@@ -928,6 +930,8 @@ class Guest(XMLBuilder): @@ -930,6 +932,8 @@ class Guest(XMLBuilder):
net_model = None net_model = None
elif self._can_virtio("virtionet"): elif self._can_virtio("virtionet"):
net_model = "virtio" net_model = "virtio"
@ -55,7 +55,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtinst/urlfetcher.py --- virt-manager-1.1.0.orig/virtinst/urlfetcher.py
+++ virt-manager-1.1.0/virtinst/urlfetcher.py +++ virt-manager-1.1.0/virtinst/urlfetcher.py
@@ -944,10 +944,11 @@ class SuseDistro(Distro): @@ -945,10 +945,11 @@ class SuseDistro(Distro):
oldkern += "64" oldkern += "64"
oldinit += "64" oldinit += "64"

View File

@ -2,20 +2,29 @@ Index: virt-manager-1.1.0/virtinst/guest.py
=================================================================== ===================================================================
--- virt-manager-1.1.0.orig/virtinst/guest.py --- virt-manager-1.1.0.orig/virtinst/guest.py
+++ virt-manager-1.1.0/virtinst/guest.py +++ virt-manager-1.1.0/virtinst/guest.py
@@ -348,6 +348,12 @@ class Guest(XMLBuilder): @@ -32,6 +32,7 @@ from virtinst import util
self.on_reboot = action from virtinst import support
from virtinst import OSXML
from virtinst import VirtualDevice
+from virtinst import VirtualDisk
from virtinst import Clock
from virtinst import Seclabel
from virtinst import CPU
@@ -349,6 +350,13 @@ class Guest(XMLBuilder):
self.on_crash = action self.on_crash = action
+ # At install time only set the target disk to 'unsafe' for self._set_defaults()
+ # better performance + # At install time set the target disk to 'unsafe' for
+ # better performance if the target is not a block device
+ if install: + if install:
+ target_disk = self.get_devices("disk")[0] + target_disk = self.get_devices("disk")[0]
+ saved_cache = target_disk.driver_cache + saved_cache = target_disk.driver_cache
+ target_disk.driver_cache = "unsafe" + if target_disk.type != VirtualDisk.TYPE_BLOCK:
self._set_defaults() + target_disk.driver_cache = VirtualDisk.CACHE_MODE_UNSAFE
self.bootloader = None self.bootloader = None
@@ -367,7 +373,10 @@ class Guest(XMLBuilder): if (not install and
@@ -367,7 +375,10 @@ class Guest(XMLBuilder):
self.bootloader = "/usr/bin/pygrub" self.bootloader = "/usr/bin/pygrub"
self.os.clear() self.os.clear()