From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Horman Subject: [patch 03/16] xend: pass-through: tidy up PciController() Date: Mon, 15 Jun 2009 11:55:18 +1000 Message-ID: <20090615015911.370478501@vergenet.net> References: <20090615015515.927085604@vergenet.net> Return-path: Content-Disposition: inline; filename=cleanupDevice-cleanup.patch 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: Masaki Kanno , Dexuan Cui List-Id: xen-devel@lists.xenproject.org Cc: Dexuan Cui Cc: Masaki Kanno Signed-off-by: Simon Horman Index: xen-unstable.hg/tools/python/xen/xend/server/pciif.py =================================================================== --- xen-unstable.hg.orig/tools/python/xen/xend/server/pciif.py 2009-06-15 11:24:02.000000000 +1000 +++ xen-unstable.hg/tools/python/xen/xend/server/pciif.py 2009-06-15 11:24:12.000000000 +1000 @@ -540,33 +540,24 @@ class PciController(DevController): # In HVM case, I/O resources are disabled in ioemu. self.cleanupOneDevice(domain, bus, slot, func) # Remove xenstore nodes. - self.removeBackend(devid, 'dev-%i' % i) - self.removeBackend(devid, 'vdev-%i' % i) - self.removeBackend(devid, 'state-%i' % i) - self.removeBackend(devid, 'uuid-%i' % i) - tmpopts = self.readBackend(devid, 'opts-%i' % i) - if tmpopts is not None: - self.removeBackend(devid, 'opts-%i' % i) + list = ['dev', 'vdev', 'state', 'uuid'] + if self.readBackend(devid, 'opts-%i' % i) is not None: + list.append('opts') + for key in list: + self.removeBackend(devid, '%s-%i' % (key, i)) else: - if new_num_devs != i: - tmpdev = self.readBackend(devid, 'dev-%i' % i) - self.writeBackend(devid, 'dev-%i' % new_num_devs, tmpdev) - self.removeBackend(devid, 'dev-%i' % i) - tmpvdev = self.readBackend(devid, 'vdev-%i' % i) - if tmpvdev is not None: - self.writeBackend(devid, 'vdev-%i' % new_num_devs, - tmpvdev) - self.removeBackend(devid, 'vdev-%i' % i) - tmpstate = self.readBackend(devid, 'state-%i' % i) - self.writeBackend(devid, 'state-%i' % new_num_devs, tmpstate) - self.removeBackend(devid, 'state-%i' % i) - tmpuuid = self.readBackend(devid, 'uuid-%i' % i) - self.writeBackend(devid, 'uuid-%i' % new_num_devs, tmpuuid) - self.removeBackend(devid, 'uuid-%i' % i) - tmpopts = self.readBackend(devid, 'opts-%i' % i) - if tmpopts is not None: - self.removeBackend(devid, 'opts-%i' % i) new_num_devs = new_num_devs + 1 + if new_num_devs == i + 1: + continue + + list = ['dev', 'vdev', 'state', 'uuid', 'opts'] + for key in list: + tmp = self.readBackend(devid, '%s-%i' % (key, i)) + if tmp is None: + continue + self.removeBackend(devid, '%s-%i' % (key, i)) + self.writeBackend(devid, + '%s-%i' % (key, new_num_devs - 1), tmp) self.writeBackend(devid, 'num_devs', str(new_num_devs)) --