virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold c085d819a8 - Update to virt-manager 1.5.0 (bsc#1027942)
virt-manager-1.5.0.tar.bz2
  * python3 prep work (Radostin Stoyanov, Cole Robinson, Cédric Bosdonnat)
  * Switch –location ISO to use isoinfo (Andrew Wong)
  * virt-install: add –cpu numa distance handling (Menno Lageman)
  * virt-install: fix –disk for rbd volumes with auth (Rauno Väli)
  * virt-install: add –cputune vcpupin handling (Wim ten Have)
  * details ui: Showing attached scsi devices per controller (Lin Ma)
  * network ui: Show details about SR-IOV VF pool (Lin Ma)
  * Greatly expand UI test suite coverage
- Dropped patches
  0001-Improve-container-image-url-example.patch
  0001-py3-store-exception-variables-for-use-outside-except.patch
  0002-create-wizard-fix-alignment-in-os-container-page.patch
  0003-oscontainer-ask-root-password-in-the-wizard.patch
  0004-Harmonize-invisible_char-values.patch
  083dfcc8-Show-details-about-the-network-of-SR-IOV-VF-pool.patch
  08a58d61-pycodestyle-remove-description-of-fixed-errors.patch
  0c6bcb09-fix-bytes-string-mess-in-serial-console.patch
  0e812e3c-dont-skip-authentication-for-listen-type-none-with-fixed-QEMU.patch
  23aaf852-network-Set-bridge-name-to-None-instead-of-blank.patch
  2d276ebe-progress-dont-overwrite-format.patch
  2eb455c9-correctly-calculate-virtio-scsi-controller-index.patch
  374a3779-urlfetcher-write-test-file-as-binary-content.patch
  37ea5207-replace-StandardError-with-Exception.patch
  3b769643-dont-add-URI-into-params-for-tunneled-migration.patch
  3be78d1f-addhardware-dont-allow-panic-option-where-not-supported.patch
  44de92b7-use-reload-from-imp-module.patch
  63fce081-pycodestyle-Use-isinstance-for-type-checking.patch
  67122615-python2to3-division-compatability.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=406
2018-02-07 16:59:50 +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.5.0/virtinst/devicedisk.py
===================================================================
--- virt-manager-1.5.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.5.0/virtinst/devicedisk.py
@@ -1036,6 +1036,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()
@@ -1049,7 +1060,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