- 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
- 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
variable 'distro_distro' referenced before assignment
virtinst-detect-suse-distros.patch updated

View File

@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define with_guestfs 0
%define askpass_package "openssh-askpass"
%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/virtinst/guest.py
@@ -637,6 +637,15 @@ class Guest(XMLBuilder):
@@ -639,6 +639,15 @@ class Guest(XMLBuilder):
return
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):
self.add_default_graphics()
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_usb_controller()
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/virtinst/urlfetcher.py
@@ -404,6 +404,24 @@ def _distroFromContent(fetcher, arch, vm
@@ -405,6 +405,24 @@ def _distroFromContent(fetcher, arch, vm
return ob
@ -27,7 +27,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
def getDistroStore(guest, fetcher):
stores = []
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:
return dist
@ -38,7 +38,7 @@ Index: virt-manager-1.1.0/virtinst/urlfetcher.py
stores = _allstores[:]
# 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)
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/virtinst/guest.py
@@ -633,7 +633,7 @@ class Guest(XMLBuilder):
@@ -635,7 +635,7 @@ class Guest(XMLBuilder):
return
if self.os.is_container():
return
@ -11,7 +11,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
return
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.os.arch == "s390x":
preferred_emulator = "/usr/bin/qemu-system-s390x"
@ -20,7 +20,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
else:
preferred_emulator = "/usr/bin/qemu-system-x86_64"
else:
@@ -877,7 +879,7 @@ class Guest(XMLBuilder):
@@ -879,7 +881,7 @@ class Guest(XMLBuilder):
if not self._lookup_osdict_key(key, False):
return False
@ -29,7 +29,7 @@ Index: virt-manager-1.1.0/virtinst/guest.py
return True
if (self.os.is_arm_vexpress() and
self.os.dtb and
@@ -928,6 +930,8 @@ class Guest(XMLBuilder):
@@ -930,6 +932,8 @@ class Guest(XMLBuilder):
net_model = None
elif self._can_virtio("virtionet"):
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/virtinst/urlfetcher.py
@@ -944,10 +944,11 @@ class SuseDistro(Distro):
@@ -945,10 +945,11 @@ class SuseDistro(Distro):
oldkern += "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/virtinst/guest.py
@@ -348,6 +348,12 @@ class Guest(XMLBuilder):
self.on_reboot = action
@@ -32,6 +32,7 @@ from virtinst import util
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
+ # At install time only set the target disk to 'unsafe' for
+ # better performance
self._set_defaults()
+ # At install time set the target disk to 'unsafe' for
+ # better performance if the target is not a block device
+ if install:
+ target_disk = self.get_devices("disk")[0]
+ saved_cache = target_disk.driver_cache
+ target_disk.driver_cache = "unsafe"
self._set_defaults()
+ if target_disk.type != VirtualDisk.TYPE_BLOCK:
+ target_disk.driver_cache = VirtualDisk.CACHE_MODE_UNSAFE
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.os.clear()