]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
xend: On block-attach, remove device information when VmError occurs.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Jan 2008 11:27:43 +0000 (11:27 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 22 Jan 2008 11:27:43 +0000 (11:27 +0000)
I tested xm block-attach command with a wrong
parameter(file:). Naturally a command error occurred. Then I retested
xm block-attach command with a correct parameter(phy:). But a command
error occurred again. The second command error occurred because Xend
did not remove device information from self.info when the first
command error occurred.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
xen-unstable changeset:   16777:6f3fb3f86b68182bb61a661e81f346f653005852
xen-unstable date:        Tue Jan 22 09:51:49 2008 +0000

tools/python/xen/xend/XendDomainInfo.py

index f8d3f1ef575f200b8b2b1c8dac30d49760e1f08e..c04663ed64063e99560c860f2dee0848080b63f9 100644 (file)
@@ -519,6 +519,11 @@ class XendDomainInfo:
                     self._createDevice(dev_type, dev_config_dict)
                 self._waitForDevice(dev_type, devid)
             except VmError, ex:
+                del self.info['devices'][dev_uuid]
+                if dev_type == 'tap':
+                    self.info['vbd_refs'].remove(dev_uuid)
+                else:
+                    self.info['%s_refs' % dev_type].remove(dev_uuid)
                 raise ex
         else:
             devid = None