Skip to contentSkip to conversation

We need to detect ioemu handled devices earlier and ignore them.

PATCH New Arun Sharma 1 participant 1 message Aug 20, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 We need to detect ioemu handled devices earlier and ignore them.

We need to detect ioemu handled devices earlier and ignore them.

Testing in blkif.py is too late. The check should be in createDevices.

tools/python/xen/xend/XendDomainInfo.py +4 -2
diff -r 81576d3d1ca8 -r 483ac5017c9c tools/python/xen/xend/XendDomainInfo.py
@@ -23,7 +23,7 @@
 
 """
 
-import string
+import string, re
 import os
 import time
 import threading
@@ -383,7 +383,9 @@
 
     def createDevice(self, type, devconfig, change=False):
         if type == 'vbd':
-
+            typedev = sxp.child_value(devconfig, 'dev')
+            if re.match('^ioemu:', typedev):
+	        return;
             backdom = domain_exists(sxp.child_value(devconfig, 'backend', '0'))
 
             devnum = blkdev_name_to_number(sxp.child_value(devconfig, 'dev'))
tools/python/xen/xend/server/blkif.py +1 -10
diff -r 81576d3d1ca8 -r 483ac5017c9c tools/python/xen/xend/server/blkif.py
@@ -18,7 +18,6 @@
 """Support for virtual block devices.
 """
 import string
-import re
 
 from xen.util import blkif
 from xen.xend.XendError import XendError, VmError
@@ -200,7 +199,6 @@
         self.vdev = None
         self.mode = None
         self.type = None
-        self.emtype = None
         self.params = None
         self.node = None
         self.device = None
@@ -239,12 +237,7 @@
         # Split into type and type-specific params (which are passed to the
         # type-specific control script).
         (self.type, self.params) = string.split(self.uname, ':', 1)
-        typedev = sxp.child_value(config, 'dev')
-        if re.match( '^ioemu:', typedev):
-            (self.emtype, self.dev) = string.split(typedev, ':', 1)
-        else:
-            self.emtype = 'vbd'
-            self.dev = typedev
+        self.dev = sxp.child_value(config, 'dev')
         if not self.dev:
             raise VmError('vbd: Missing dev')
         self.mode = sxp.child_value(config, 'mode', 'r')
@@ -265,8 +258,6 @@
         if recreate:
             pass
         else:
-            if self.emtype == 'ioemu':
-                return
             node = Blkctl.block('bind', self.type, self.params)
             self.setNode(node)
             self.attachBackend()