Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
virt-manager.12547
virtinst-xenbus-disk-index-fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File virtinst-xenbus-disk-index-fix.patch of Package virt-manager.12547
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.2.1/virtinst/devicedisk.py =================================================================== --- virt-manager-1.2.1.orig/virtinst/devicedisk.py +++ virt-manager-1.2.1/virtinst/devicedisk.py @@ -1015,6 +1015,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() @@ -1028,7 +1039,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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor