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 1.1.0 virt-manager-1.1.0.tar.bz2 * Switch to libosinfo as OS metadata database (Giuseppe Scrivano) * Use libosinfo for OS detection from CDROM media labels (Giuseppe Scrivano) * Use libosinfo for improved OS defaults, like recommended disk size (Giuseppe Scrivano) * virt-image tool has been removed, as previously announced * Enable Hyper-V enlightenments for Windows VMs * Revert virtio-console default, back to plain serial console * Experimental q35 option in new VM ‘customize’ dialog * UI for virtual network QoS settings (Giuseppe Scrivano) * virt-install: –disk discard= support (Jim Minter) * addhardware: Add spiceport UI (Marc-André Lureau) * virt-install: –events on_poweroff etc. support (Chen Hanxiao) * cli –network portgroup= support and UI support * cli –boot initargs= and UI support * addhardware: allow setting controller model (Chen Hanxiao) * virt-install: support setting hugepage options (Chen Hanxiao) - Drop upstream patches and old tarball virt-manager-1.0.1.tar.bz2 5332ee4d-enable-media-detection-for-ISO-images.patch 53341e7e-hide-hardware-removal-for-non-devices.patch 53342f31-set-right-ip-address-for-ipv6.patch 53375bad-raise-value-error-when-no-ipaddr-set.patch 53388de2-show-port-number-for-active-autoport-VM.patch 53397ae0-check-ip-address-format.patch 53399b45-hook-into-domain-balloon-event.patch 533d708d-fix-showing-vcpus-values.patch 533d7602-fix-changing-graphics-type.patch 533d7be7-clarify-iscsi-IQN-fields.patch 5345682c-addstorage-remove-whitespace-for-storage-path.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=207
2014-10-29 18:03:15 +01:00
Index: virt-manager-1.1.0/virtinst/devicedisk.py
===================================================================
- Update to virt-manager 1.1.0 virt-manager-1.1.0.tar.bz2 * Switch to libosinfo as OS metadata database (Giuseppe Scrivano) * Use libosinfo for OS detection from CDROM media labels (Giuseppe Scrivano) * Use libosinfo for improved OS defaults, like recommended disk size (Giuseppe Scrivano) * virt-image tool has been removed, as previously announced * Enable Hyper-V enlightenments for Windows VMs * Revert virtio-console default, back to plain serial console * Experimental q35 option in new VM ‘customize’ dialog * UI for virtual network QoS settings (Giuseppe Scrivano) * virt-install: –disk discard= support (Jim Minter) * addhardware: Add spiceport UI (Marc-André Lureau) * virt-install: –events on_poweroff etc. support (Chen Hanxiao) * cli –network portgroup= support and UI support * cli –boot initargs= and UI support * addhardware: allow setting controller model (Chen Hanxiao) * virt-install: support setting hugepage options (Chen Hanxiao) - Drop upstream patches and old tarball virt-manager-1.0.1.tar.bz2 5332ee4d-enable-media-detection-for-ISO-images.patch 53341e7e-hide-hardware-removal-for-non-devices.patch 53342f31-set-right-ip-address-for-ipv6.patch 53375bad-raise-value-error-when-no-ipaddr-set.patch 53388de2-show-port-number-for-active-autoport-VM.patch 53397ae0-check-ip-address-format.patch 53399b45-hook-into-domain-balloon-event.patch 533d708d-fix-showing-vcpus-values.patch 533d7602-fix-changing-graphics-type.patch 533d7be7-clarify-iscsi-IQN-fields.patch 5345682c-addstorage-remove-whitespace-for-storage-path.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=207
2014-10-29 18:03:15 +01:00
--- virt-manager-1.1.0.orig/virtinst/devicedisk.py
+++ virt-manager-1.1.0/virtinst/devicedisk.py
@@ -1012,6 +1012,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()
@@ -1025,7 +1036,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