virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold 6bbd8f8c21 - Update to virt-manager 1.3.0
virt-manager-1.3.0.tar.bz2
  * Git hosting moved to http://github.com/virt-manager/virt-manager
  * Switch translation infrastructure from transifex to fedora.zanata.org
  * Add dogtail UI tests and infrastructure
  * Improved support for s390x kvm (Kevin Zhao)
  * virt-install and virt-manager now remove created disk images if VM install startup fails
  * Replace urlgrabber usage with requests and urllib2
  * virt-install: add –network virtualport support for openvswitch (Daniel P. Berrange)
  * virt-install: support multiple –security labels
  * virt-install: support –features kvm_hidden=on|off (Pavel Hrdina)
  * virt-install: add –features pmu=on|off
  * virt-install: add –features pvspinlock=on|off (Abhijeet Kasurde)
  * virt-install: add –events on_lockfailure=on|off (Abhijeet Kasurde)
  * virt-install: add –network link_state=up|down
  * virt-install: add –vcpu placement=static|auto
- Dropped
  virt-manager-1.2.1.tar.bz2
  34db1af7-fix-adding-iscsi-pools.patch
  360fe110-add-s390x-arch-support.patch
  4970615f-fix-qemu-vs-lxc-detection.patch
  590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch
  5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
  601a82cb-fix-console_type-if-xen.patch
  76bad650-fix-virt-xml-define-and-update.patch
  77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch
  8dbe96fc-add-s390x-arch-support.patch
  a9b303fb-fix-copy-host-cpu-definition.patch
  aebebbf8-report-an-error-for-pxe-install-without-network.patch
  cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=283
2015-11-25 23:27:12 +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.3.0/virtinst/devicedisk.py
===================================================================
--- virt-manager-1.3.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.3.0/virtinst/devicedisk.py
@@ -976,6 +976,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()
@@ -989,7 +1000,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