virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold 674d49879e - Update to virt-manager 2.0.0 (bsc#1027942)
virt-manager-2.0.0.tar.bz2
  * Finish port to Python 3 (Radostin Stoyanov, Cole Robinson)
  * Improved VM defaults for supported OS: q35 PCIe, usb3, CPU host-model
  * Search based OS selection UI for new VMs (Daniel P. Berrangé, Cole Robinson)
  * Track OS name for lifetime of domain in XML
  * Host interface management UI has been completely removed
  * Show domain IP on interface details page (Lin Ma, Cole Robinson)
  * More efficient stats polling with AllDomainStats (Simon Kobyda, Cole Robinson)
  * TPM device model and backend UI (Marc-André Lureau, Stefan Berger)
  * Show connection state in UI (Lin Ma)
  * Show attached devices in UI (Lin Ma)
  * UI option to plug/unplug VM nic link (Simon Kobyda)
  * UI support for disk discard and detect_zeroes (Povilas Kanapickas, Lin Ma)
  * Improved SUSE –location URL/ISO detection (Charles Arnold)
  * cli and UI support for SCSI persistent reservations (Lin Ma)
  * cli: Add –network mtu.size= option (Anya Harter)
  * cli: Add –disk driver.copy_on_read (Anya Harter)
  * cli: Add –disk geometry support (Anya Harter)
  * cli: Add –sound codec support (Anya Harter)
  * cli: Add –hostdev net/char/block for LXC (Lubomir Rintel)
  * cli: Add –memorybacking access_mode and source_type (Marc-André Lureau)
  * cli: Add –boot rebootTimout (Yossi Ovadia)
  * cli: Add –boot bootloader=
  * cli: Add –destroy-on-exit
- Drop patches contained in new tarball or not required
  0004-virtinst-python3-use-binary-mode-for-kernel.patch
  27d4b167-virtinst-update-location-for-opensuse.patch
  5a7698c7-fix-select-network-vol.patch
  d15b78ab-virtinst-read-CPU-model-from-domain-capabilities.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=437
2018-10-30 22:00:52 +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-2.0.0/virtinst/devices/disk.py
===================================================================
--- virt-manager-2.0.0.orig/virtinst/devices/disk.py
+++ virt-manager-2.0.0/virtinst/devices/disk.py
@@ -900,6 +900,17 @@ class DeviceDisk(Device):
:returns: generated target
"""
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()
@@ -913,7 +924,12 @@ class DeviceDisk(Device):
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