virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold ff660c61ba - 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-21 22:34:03 +00:00

45 lines
1.9 KiB
Diff

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).
Index: virt-manager-1.4.0/virtinst/devicedisk.py
===================================================================
--- 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()
@@ -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