xend: pass-through: tidy up PciController()

Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
Keir Fraser committed 2009-06-16 11:36:03 +01:00
1 parent e5c65dc72e
commit 005f6dc9a8
1 file changed
+16 -25
+16 -25
View File
@@ -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))
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.