virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold 4648861824 - Upstream bug fix
535584ed-fix-target-validation-when-editing-device.patch 

- bnc#874408 - virt-manager and libvirt issues persist - unable to
  create or launch
  virtman-vminstall.patch

- Upstream bug fix
  5350d9cc-display-error-on-empty-installation-URL.patch

- Dropped unused and unnecessary patches
  virtinst-cdrom.patch
  virtman-update-backend.patch
  virtman-slow-mouse.patch
  virtman-reverse-serialcon.patch
- Reordered some patches

- Upstream bug fixes
  534bcfa0-use-uniformed-expression-of-Default.patch
  534be092-early-detect-ftp-connection-errors.patch
  534d45db-hiding-removebutton-for-USB-controller.patch
  534d6406-display-the-domain-for-PCI-devices.patch
  534eafe4-avoid-useless-errors-when-connection-closes.patch

- bnc#872789 - XEN domain fails to start when xen disk is atttached
  virtinst-xenbus-disk-index-fix.patch
- bnc#872777 - virt-manager - Error shutting down domain: internal
  error: Failed to shutdown domain '3' with libxenlight
  virtman-shutdown-with-acpi-button.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=166
2014-04-22 20:09:58 +00:00

35 lines
1.4 KiB
Diff

bnc#872789
--- virt-manager-1.0.1/virtinst/devicedisk.py.orig 2014-04-14 11:41:36.904354483 -0600
+++ virt-manager-1.0.1/virtinst/devicedisk.py 2014-04-14 11:45:39.565744657 -0600
@@ -931,6 +931,15 @@ 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:
+ 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()
@@ -944,7 +953,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