From 572c97ee60196432e46d3b5633ae81eea91216e9 Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Mon, 1 Dec 2014 20:20:03 +0000 Subject: [PATCH] - 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 --- virt-manager.changes | 4 ++++ virt-manager.spec | 1 + virtinst-add-default-rng-device.patch | 4 ++-- virtinst-detect-windows-media.patch | 6 ++--- virtinst-ppc64le.patch | 10 ++++---- ...st-set-cache-mode-unsafe-for-install.patch | 23 +++++++++++++------ 6 files changed, 31 insertions(+), 17 deletions(-) diff --git a/virt-manager.changes b/virt-manager.changes index d2b5b02a..edc3e24b 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -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 diff --git a/virt-manager.spec b/virt-manager.spec index 6cd4b409..8fc5d8ca 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -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" diff --git a/virtinst-add-default-rng-device.patch b/virtinst-add-default-rng-device.patch index a1f691b2..49421564 100644 --- a/virtinst-add-default-rng-device.patch +++ b/virtinst-add-default-rng-device.patch @@ -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() diff --git a/virtinst-detect-windows-media.patch b/virtinst-detect-windows-media.patch index c85a490a..4d03e746 100644 --- a/virtinst-detect-windows-media.patch +++ b/virtinst-detect-windows-media.patch @@ -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 diff --git a/virtinst-ppc64le.patch b/virtinst-ppc64le.patch index f9f75733..a11eb1bc 100644 --- a/virtinst-ppc64le.patch +++ b/virtinst-ppc64le.patch @@ -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" diff --git a/virtinst-set-cache-mode-unsafe-for-install.patch b/virtinst-set-cache-mode-unsafe-for-install.patch index 566ec153..791914c4 100644 --- a/virtinst-set-cache-mode-unsafe-for-install.patch +++ b/virtinst-set-cache-mode-unsafe-for-install.patch @@ -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()