virt-manager/virtinst-xenbus-disk-index-fix.patch
Charles Arnold 766768c9d2 - bnc#881551 - virt-manage: default storage image called
opensuse13.img for SLE-Server
  virtinst-detect-suse-distros.patch

- bnc#881549 - virt-manager/xen: Error changing VM configuration:
  'NoneType' object has no attribute 'split'
  virtinst-xenbus-disk-index-fix.patch

- Upstream bug fix
  538edb3b-manpage-fix-incorrect-description.patch 

- Upstream bug fixes
  536677aa-better-handling-of-keyboard-input-type.patch
  5385d602-lxc-no-default-disk.patch
  53869170-virt-install-add-events-support.patch
  538a11dc-raise-error-if-populating-summary-page-fails.patch
  538a3609-virtconv-fix-use-of-relative-OVF-file.patch
  538a3ba9-diskbackend-start-pool-if-not-running.patch
  538ca3f3-use-correct-dictionary-keys-for-old-pool-net-polling.patch
  538d00a4-xen-keyboard-cant-be-removed.patch
  538e2f74-fix-pool-create-call.patch
- Dropped 531e0a82-reverse-keyboard-grab-commit.patch. Fixed instead 
  with this patch.
  538a6862-vnc-dont-force-keyboard-grab-before-widget-is-realized.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=182
2014-06-12 05:14:17 +00:00

39 lines
1.5 KiB
Diff

bnc#872789
Index: virt-manager-1.0.1/virtinst/devicedisk.py
===================================================================
--- virt-manager-1.0.1.orig/virtinst/devicedisk.py
+++ virt-manager-1.0.1/virtinst/devicedisk.py
@@ -931,6 +931,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()
@@ -944,7 +955,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