32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
# HG changeset patch
|
|
# User Keir Fraser <keir.fraser@citrix.com>
|
|
# Date 1200995509 0
|
|
# Node ID 6f3fb3f86b68182bb61a661e81f346f653005852
|
|
# Parent 2af5fb3e34e54e96d0c58e0e4557ee1240df9ce8
|
|
xend: On block-attach, remove device information when VmError occurs.
|
|
|
|
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>
|
|
|
|
diff -r 2af5fb3e34e5 -r 6f3fb3f86b68 tools/python/xen/xend/XendDomainInfo.py
|
|
--- a/tools/python/xen/xend/XendDomainInfo.py Tue Jan 22 09:50:06 2008 +0000
|
|
+++ b/tools/python/xen/xend/XendDomainInfo.py Tue Jan 22 09:51:49 2008 +0000
|
|
@@ -535,6 +535,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
|