domain: Only regenerate target if we really need to

Certain different devices like scsi, usb, and sata use the same
target prefix. In those cases, just reuse it.
This commit is contained in:
Cole Robinson 2012-01-29 15:38:33 -05:00
parent 18f68bb581
commit a0dee00678

View File

@ -581,14 +581,18 @@ class vmmDomain(vmmLibvirtObject):
return self._redefine_device(change, devobj) return self._redefine_device(change, devobj)
def define_disk_bus(self, devobj, newval): def define_disk_bus(self, devobj, newval):
def change(editdev): def change(editdev):
diffbus = (editdev.bus != newval) oldprefix = editdev.get_target_prefix()[0]
oldbus = editdev.bus
editdev.bus = newval editdev.bus = newval
if not diffbus: if oldbus == newval:
return return
editdev.address.clear() editdev.address.clear()
if oldprefix == editdev.get_target_prefix()[0]:
return
used = [] used = []
disks = (self.get_disk_devices() + disks = (self.get_disk_devices() +
self.get_disk_devices(inactive=True)) self.get_disk_devices(inactive=True))