upstream qemu has no 'bus-prop:' and 'dev-prop:' prefixes any more,
they are gone with the move to QOM.  Adapt the qtree parser, by
stripping off the prefixes for older qemu versions, then use the
short, un-prefixed version to query the values.

Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
---
 client/virt/kvm_qtree.py |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/client/virt/kvm_qtree.py b/client/virt/kvm_qtree.py
index 64ebb9d..d10d1c8 100644
--- a/client/virt/kvm_qtree.py
+++ b/client/virt/kvm_qtree.py
@@ -89,6 +89,10 @@ class QtreeNode(object):
         self.update_qtree_prop(prop, value)
 
     def update_qtree_prop(self, prop, value):
+        if prop.startswith("bus-prop: "):
+            prop = prop[10:]
+        if prop.startswith("dev-prop: "):
+            prop = prop[10:]
         self.qtree[prop] = value
 
     def get_qtree(self):
@@ -146,7 +150,7 @@ class QtreeDev(QtreeNode):
         super(QtreeDev, self).add_child(child)
 
     def guess_type(self):
-        if ('dev-prop: drive' in self.qtree and
+        if ('drive' in self.qtree and
                 self.qtree['type'] != 'usb-storage'):
             # ^^ HOOK when usb-storage-containter is detected as disk
             return QtreeDisk
@@ -175,6 +179,10 @@ class QtreeDisk(QtreeDev):
         self.update_block_prop(prop, value)
 
     def update_block_prop(self, prop, value):
+        if prop.startswith("bus-prop: "):
+            prop = prop[10:]
+        if prop.startswith("dev-prop: "):
+            prop = prop[10:]
         self.block[prop] = value
 
     def get_block(self):
@@ -198,7 +206,7 @@ class QtreeDisk(QtreeDev):
         self.params['drive_format'] = self.qtree.get('type')
 
     def get_qname(self):
-        return self.qtree.get('dev-prop: drive')
+        return self.qtree.get('drive')
 
 
 class QtreeContainer(object):
@@ -422,9 +430,9 @@ class QtreeDisksContainer(object):
             if (disk.get_qtree()['type'].startswith('scsi') or
                     disk.get_qtree()['type'].startswith('usb2')):
                 props = disk.get_qtree()
-                disks.add('%d-%d-%d' % (int(props.get('bus-prop: channel')),
-                                        int(props.get('bus-prop: scsi-id')),
-                                        int(props.get('bus-prop: lun'))))
+                disks.add('%d-%d-%d' % (int(props.get('channel')),
+                                        int(props.get('scsi-id')),
+                                        int(props.get('lun'))))
             else:
                 qtree_not_scsi += 1
         scsis = set()
-- 
1.7.1

_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to