From 18f68bb5817aa62d12868e0c3991f0c531ddccbf Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sun, 29 Jan 2012 15:32:25 -0500 Subject: [PATCH] details: When changing disk bus, generate new target name Since we are basically changing --- src/virtManager/domain.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/virtManager/domain.py b/src/virtManager/domain.py index c27e0b5a1..b975d39ae 100644 --- a/src/virtManager/domain.py +++ b/src/virtManager/domain.py @@ -581,12 +581,25 @@ class vmmDomain(vmmLibvirtObject): return self._redefine_device(change, devobj) def define_disk_bus(self, devobj, newval): def change(editdev): - if editdev.bus != newval: - # Old
probably isn't applicable for new bus value - editdev.address.clear() - # XXX: Need to change target value as well? - + diffbus = (editdev.bus != newval) editdev.bus = newval + + if not diffbus: + return + + editdev.address.clear() + + used = [] + disks = (self.get_disk_devices() + + self.get_disk_devices(inactive=True)) + for d in disks: + used.append(d.target) + + if editdev.target: + used.remove(editdev.target) + + editdev.target = None + editdev.generate_target(used) return self._redefine_device(change, devobj) def define_disk_serial(self, devobj, val): def change(editdev):