From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Horman Subject: Re: [patch v2] xm: Fix hot-unplug of statically-assigned devices Date: Thu, 23 Apr 2009 11:42:53 +1000 Message-ID: <20090423014252.GA19748@verge.net.au> References: <20090422173051.GA25800@verge.net.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20090422173051.GA25800@verge.net.au> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: "Han, Weidong" , Masaki Kanno , "Zhai, Edwin" , "Cui, Dexuan" List-Id: xen-devel@lists.xenproject.org Prior to changset 19510:5c69f98c348e - 'xm, xend: Replace "vslt" with "vslot"', both vslt and vslot were used in the xm code, often fairly arbitrarily. However, in the dictionary that describes a pci function both vslt and vslot were present. vslt stored the slot assigned to the function. And vslot stored the slot the user requested for the function, or AUTO_PHP_SLOT if no slot was requested. With the renaming these two values got merged into a single entry. This patch un-merges them by renaming the what was vslot to requested_vslot. So an out of chronological order list of name changes is: 'vslot' -> 'requested_vslot' 'vslt' -> 'vslot' Signed-off-by: Simon Horman --- Thu, 23 Apr 2009 03:30:54 +1000 * I have given this only light testing, I would appreciate it if others could look at it. * This bug should probably be fixed for 3.4.0 * This bug is in Bugzilla as Bug #1446 http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1446 Thu, 23 Apr 2009 11:41:36 +1000 * Removed spirous tools/python/xen/xend/XendDomainInfo.py fragments, these were a cosmetic change I was working on. Index: xen-unstable.hg/tools/python/xen/xend/XendConfig.py =================================================================== --- xen-unstable.hg.orig/tools/python/xen/xend/XendConfig.py 2009-04-23 11:38:54.000000000 +1000 +++ xen-unstable.hg/tools/python/xen/xend/XendConfig.py 2009-04-23 11:38:58.000000000 +1000 @@ -1285,7 +1285,7 @@ class XendConfig(dict): dpci_record = { 'VM': self['uuid'], 'PPCI': ppci_uuid, - 'hotplug_slot': pci_dev.get('vslot', 0) + 'hotplug_slot': pci_dev.get('requested_vslot', 0) } dpci_opts = pci_dev.get('opts') @@ -1847,7 +1847,7 @@ class XendConfig(dict): dpci_record = { 'VM': self['uuid'], 'PPCI': ppci_uuid, - 'hotplug_slot': pci_dev.get('vslot', 0) + 'hotplug_slot': pci_dev.get('requested_vslot', 0) } dpci_opts = pci_dev.get('opts') Index: xen-unstable.hg/tools/python/xen/xend/server/pciif.py =================================================================== --- xen-unstable.hg.orig/tools/python/xen/xend/server/pciif.py 2009-04-23 11:38:54.000000000 +1000 +++ xen-unstable.hg/tools/python/xen/xend/server/pciif.py 2009-04-23 11:38:58.000000000 +1000 @@ -79,7 +79,7 @@ class PciController(DevController): bus = parse_hex(pci_config.get('bus', 0)) slot = parse_hex(pci_config.get('slot', 0)) func = parse_hex(pci_config.get('func', 0)) - vslot = parse_hex(pci_config.get('vslot', 0)) + requested_vslot = parse_hex(pci_config.get('requested_vslot', 0)) opts = pci_config.get('opts', '') if len(opts) > 0: @@ -90,7 +90,7 @@ class PciController(DevController): back['dev-%i' % pcidevid] = "%04x:%02x:%02x.%01x" % \ (domain, bus, slot, func) back['uuid-%i' % pcidevid] = pci_config.get('uuid', '') - back['vslot-%i' % pcidevid] = "%02x" % vslot + back['vslot-%i' % pcidevid] = "%02x" % requested_vslot pcidevid += 1 if vslots != "": Index: xen-unstable.hg/tools/python/xen/xm/create.py =================================================================== --- xen-unstable.hg.orig/tools/python/xen/xm/create.py 2009-04-23 11:38:54.000000000 +1000 +++ xen-unstable.hg/tools/python/xen/xm/create.py 2009-04-23 11:38:58.000000000 +1000 @@ -710,7 +710,8 @@ def configure_pci(config_devs, vals): config_pci_opts.append([k, d[k]]) config_pci_bdf = ['dev', ['domain', domain], ['bus', bus], \ - ['slot', slot], ['func', func], ['vslot', vslot]] + ['slot', slot], ['func', func], + ['requested_vslot', vslot]] map(f, d.keys()) if len(config_pci_opts)>0: config_pci_bdf.append(['opts', config_pci_opts])