aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-12-04 11:32:43 +0000
committerKeir Fraser <keir.fraser@citrix.com>2008-12-04 11:32:43 +0000
commit69dff7d53223944bbbfa88a124473d718400dc3d (patch)
tree88fc573346d674a8fdcda38ba19ffc31a6642e8f /tools
parente7a89ddbf9fbb7f1ef1ca541687fd6bbab305cee (diff)
downloadxen-69dff7d53223944bbbfa88a124473d718400dc3d.tar.gz
xen-69dff7d53223944bbbfa88a124473d718400dc3d.tar.bz2
xen-69dff7d53223944bbbfa88a124473d718400dc3d.zip
xm: Fix xm block-list for inactive managed domains
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/python/xen/xend/XendDomainInfo.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
index 7478cb2885..c91a577b2a 100644
--- a/tools/python/xen/xend/XendDomainInfo.py
+++ b/tools/python/xen/xend/XendDomainInfo.py
@@ -1018,7 +1018,8 @@ class XendDomainInfo:
sxprs = []
dev_num = 0
for dev_type, dev_info in self.info.all_devices_sxpr():
- if dev_type != deviceClass:
+ if (deviceClass == 'vbd' and dev_type not in ['vbd', 'tap']) or \
+ (deviceClass != 'vbd' and dev_type != deviceClass):
continue
if deviceClass == 'vscsi':
@@ -1028,6 +1029,16 @@ class XendDomainInfo:
vscsi_devs[1].append(vscsi_dev)
dev_num = int(sxp.child_value(vscsi_dev, 'devid'))
sxprs.append([dev_num, [vscsi_devs]])
+ elif deviceClass == 'vbd':
+ dev = sxp.child_value(dev_info, 'dev')
+ if 'ioemu:' in dev:
+ (_, dev) = dev.split(':', 1)
+ try:
+ (dev_name, _) = dev.split(':', 1) # Remove ":disk" or ":cdrom"
+ except ValueError:
+ dev_name = dev
+ dev_num = self.getDeviceController('vbd').convertToDeviceNumber(dev_name)
+ sxprs.append([dev_num, dev_info])
else:
sxprs.append([dev_num, dev_info])
dev_num += 1