Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
xen
20350-vbd-bootable-flag.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 20350-vbd-bootable-flag.patch of Package xen
# HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1256113390 -3600 # Node ID 3bbe9ab2202bb6589e6512c86e06e94d24772281 # Parent 87bc0d49137bb1d66758766b39dbaf558aabd043 xend: bootable flag of VBD not always of type int 1. Calling VDB.set_bootable(True) results in string 'True' in managed config file. After xend restart, conversion int(bootable) in server/blkif.py fails. 2. selection of bootable disks in XendDomainInfo.py requires type(bootable) == int not str, otherwise all disks are taken as bootable. This patch converts the bootable flag always to int. Signed-off-by: Lutz Dube <Lutz.Dube@ts.fujitsu.com> Index: xen-3.3.1-testing/tools/python/xen/xend/XendAPI.py =================================================================== --- xen-3.3.1-testing.orig/tools/python/xen/xend/XendAPI.py +++ xen-3.3.1-testing/tools/python/xen/xend/XendAPI.py @@ -1935,7 +1935,7 @@ class XendAPI(object): bootable = bool(bootable) xd = XendDomain.instance() vm = xd.get_vm_with_dev_uuid('vbd', vbd_ref) - vm.set_dev_property('vbd', vbd_ref, 'bootable', bootable) + vm.set_dev_property('vbd', vbd_ref, 'bootable', int(bootable)) xd.managed_config_save(vm) return xen_api_success_void() Index: xen-3.3.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== --- xen-3.3.1-testing.orig/tools/python/xen/xend/XendConfig.py +++ xen-3.3.1-testing/tools/python/xen/xend/XendConfig.py @@ -1295,9 +1295,14 @@ class XendConfig(dict): if param not in target: target[param] = [] if dev_uuid not in target[param]: - if dev_type == 'vbd' and 'bootable' not in dev_info: - # Compat hack -- mark first disk bootable - dev_info['bootable'] = int(not target[param]) + if dev_type == 'vbd': + if 'bootable' not in dev_info: + # Compat hack -- mark first disk bootable + dev_info['bootable'] = int(not target[param]) + else: + # ensure type of bootable is int (on xend restart + # it's of type str) + dev_info['bootable'] = int(dev_info['bootable']) target[param].append(dev_uuid) elif dev_type == 'tap': if 'vbd_refs' not in target: @@ -1306,6 +1311,10 @@ class XendConfig(dict): if 'bootable' not in dev_info: # Compat hack -- mark first disk bootable dev_info['bootable'] = int(not target['vbd_refs']) + else: + # ensure type of bootable is int (on xend restart it's + # of type str) + dev_info['bootable'] = int(dev_info['bootable']) target['vbd_refs'].append(dev_uuid) elif dev_type == 'vfb':
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