virt-manager/virtinst-xenbus-disk-index-fix.patch

45 lines
1.9 KiB
Diff
Raw Normal View History

Reference: bnc#872789
This is an indexing problem created by virt-manager. It knows not
to add two IDE disks of the same name (eg, 'hda' twice) or two Xen
disks of the same name (eg, 'xvda' twice) but with the different bus
types (ide vs xen) it added xvda with hda. These disks were then
passed to qemu where it error'ed out with the disks having the same
index (in this case both are 0).
- Update to virt-manager version 1.4.0 virt-manager-1.4.0.tar.bz2 virtman-dont-specify-vte-version.patch * virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson) * Bump gtk and pygobject deps to 3.14 * virt-manager: add checkbox to forget keyring password (Pavel Hrdina) * cli: add --graphics gl= (Marc-André Lureau) * cli: add --video accel3d= (Marc-André Lureau) * cli: add --graphics listen=none (Marc-André Lureau) * cli: add --transient flag (Richard W.M. Jones) * cli: --features gic= support, and set a default for it (Pavel Hrdina) * cli: Expose --video heads, ram, vram, vgamem * cli: add --graphics listen=socket * cli: add device address.type/address.bus/... * cli: add --disk seclabelX.model (and .label, .relabel) * cli: add -cpu cellX.id (and .cpus, and .memory) * cli: add --network rom_bar= and rom_file= * cli: add --disk backing_format= * Many bug fixes and improvements - Dropped the following virt-manager-1.3.2.tar.bz2 89c3638b-fix-detection-that-libvirtd-is-stopped.patch 21fd079e-replace-unar-with-other-archivers.patch eae7dc06-fix-URL-installs-when-content-length-header-missing.patch 1c221fd0-suse-ovmf-paths.patch f11eb00b-virt-convert-decompress-gz-files-before-converting.patch 8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch f454798b-virtman-fix-making-screenshot.patch 5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch de9cd87f-return-recommended-machine-for-XEN.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=319
2016-06-22 00:34:03 +02:00
Index: virt-manager-1.4.0/virtinst/devicedisk.py
===================================================================
- Update to virt-manager version 1.4.0 virt-manager-1.4.0.tar.bz2 virtman-dont-specify-vte-version.patch * virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson) * Bump gtk and pygobject deps to 3.14 * virt-manager: add checkbox to forget keyring password (Pavel Hrdina) * cli: add --graphics gl= (Marc-André Lureau) * cli: add --video accel3d= (Marc-André Lureau) * cli: add --graphics listen=none (Marc-André Lureau) * cli: add --transient flag (Richard W.M. Jones) * cli: --features gic= support, and set a default for it (Pavel Hrdina) * cli: Expose --video heads, ram, vram, vgamem * cli: add --graphics listen=socket * cli: add device address.type/address.bus/... * cli: add --disk seclabelX.model (and .label, .relabel) * cli: add -cpu cellX.id (and .cpus, and .memory) * cli: add --network rom_bar= and rom_file= * cli: add --disk backing_format= * Many bug fixes and improvements - Dropped the following virt-manager-1.3.2.tar.bz2 89c3638b-fix-detection-that-libvirtd-is-stopped.patch 21fd079e-replace-unar-with-other-archivers.patch eae7dc06-fix-URL-installs-when-content-length-header-missing.patch 1c221fd0-suse-ovmf-paths.patch f11eb00b-virt-convert-decompress-gz-files-before-converting.patch 8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch f454798b-virtman-fix-making-screenshot.patch 5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch de9cd87f-return-recommended-machine-for-XEN.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=319
2016-06-22 00:34:03 +02:00
--- virt-manager-1.4.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.4.0/virtinst/devicedisk.py
@@ -993,6 +993,17 @@ class VirtualDisk(VirtualDevice):
@rtype C{str}
"""
prefix, maxnode = self.get_target_prefix(skip_targets)
+ postfix_targets = []
+ if self.conn.is_xen():
+ prefixes = [ "hd", "xvd", "vd", "sd", "fd" ]
+ for x in skip_targets:
+ if x is None:
+ continue
+ for p in prefixes:
+ found = x.split(p,1)
+ if found and len(found) == 2:
+ postfix_targets.append(found[1])
+ break
skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
skip_targets.sort()
- Update to virt-manager version 1.4.0 virt-manager-1.4.0.tar.bz2 virtman-dont-specify-vte-version.patch * virt-manager: spice GL console support (Marc-André Lureau, Cole Robinson) * Bump gtk and pygobject deps to 3.14 * virt-manager: add checkbox to forget keyring password (Pavel Hrdina) * cli: add --graphics gl= (Marc-André Lureau) * cli: add --video accel3d= (Marc-André Lureau) * cli: add --graphics listen=none (Marc-André Lureau) * cli: add --transient flag (Richard W.M. Jones) * cli: --features gic= support, and set a default for it (Pavel Hrdina) * cli: Expose --video heads, ram, vram, vgamem * cli: add --graphics listen=socket * cli: add device address.type/address.bus/... * cli: add --disk seclabelX.model (and .label, .relabel) * cli: add -cpu cellX.id (and .cpus, and .memory) * cli: add --network rom_bar= and rom_file= * cli: add --disk backing_format= * Many bug fixes and improvements - Dropped the following virt-manager-1.3.2.tar.bz2 89c3638b-fix-detection-that-libvirtd-is-stopped.patch 21fd079e-replace-unar-with-other-archivers.patch eae7dc06-fix-URL-installs-when-content-length-header-missing.patch 1c221fd0-suse-ovmf-paths.patch f11eb00b-virt-convert-decompress-gz-files-before-converting.patch 8ba48f52-add-virtio-device-model-and-accel3d-attribute.patch f454798b-virtman-fix-making-screenshot.patch 5ecc2b44-dont-clear-recommended-machine-if-none-is-selected.patch de9cd87f-return-recommended-machine-for-XEN.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=319
2016-06-22 00:34:03 +02:00
@@ -1006,7 +1017,12 @@ class VirtualDisk(VirtualDevice):
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
for i in ran:
- gen_t = prefix + self.num_to_target(i + 1)
+ postfix = self.num_to_target(i + 1)
+ gen_t = prefix + postfix
+ if self.conn.is_xen() and postfix in postfix_targets:
+ if gen_t in skip_targets:
+ skip_targets.remove(gen_t)
+ continue
if gen_t in skip_targets:
skip_targets.remove(gen_t)
continue