[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Distinguish ioemu handled devices and para virtualized devices



# HG changeset patch
# User adsharma@xxxxxxxxxxxxxxxxxxxx
# Node ID 75367adf60556a2dfdee6c083c7cb8f3a878237a
# Parent  a56b490fa41d402eb4777799bd065301e64f68f5
Distinguish ioemu handled devices and para virtualized devices

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r a56b490fa41d -r 75367adf6055 tools/examples/xmexample.vmx
--- a/tools/examples/xmexample.vmx      Mon Aug 15 20:50:25 2005
+++ b/tools/examples/xmexample.vmx      Mon Aug 15 20:50:32 2005
@@ -34,7 +34,7 @@
 # and MODE is r for read-only, w for read-write.
 
 #disk = [ 'phy:hda1,hda1,r' ]
-disk = [ 'file:/var/images/min-el3-i386.img,hda,w' ]
+disk = [ 'file:/var/images/min-el3-i386.img,ioemu:hda,w' ]
 
 #----------------------------------------------------------------------------
 # Set according to whether you want the domain restarted when it exits.
diff -r a56b490fa41d -r 75367adf6055 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Mon Aug 15 20:50:25 2005
+++ b/tools/python/xen/xend/XendDomainInfo.py   Mon Aug 15 20:50:32 2005
@@ -743,8 +743,7 @@
             for ctrl in self.getDeviceControllers():
                 ctrl.initController(reboot=True)
         else:
-           if self.image.ostype != 'vmx':
-                self.create_configured_devices()
+            self.create_configured_devices()
         if not self.device_model_pid:
             self.device_model_pid = self.image.createDeviceModel()
 
@@ -916,8 +915,7 @@
         """
         self.configure_fields()
         self.create_devices()
-       if self.image.ostype != 'vmx':
-            self.create_blkif()
+        self.create_blkif()
 
     def create_blkif(self):
         """Create the block device interface (blkif) for the vm.
diff -r a56b490fa41d -r 75367adf6055 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Mon Aug 15 20:50:25 2005
+++ b/tools/python/xen/xend/image.py    Mon Aug 15 20:50:32 2005
@@ -16,6 +16,7 @@
 #============================================================================
 
 import os, string
+import re
 
 import xen.lowlevel.xc; xc = xen.lowlevel.xc.new()
 from xen.xend import sxp
@@ -329,8 +330,15 @@
             if name == 'vbd':
                vbdinfo = sxp.child(device, 'vbd')
                uname = sxp.child_value(vbdinfo, 'uname')
-               vbddev = sxp.child_value(vbdinfo, 'dev')
+               typedev = sxp.child_value(vbdinfo, 'dev')
                (vbdtype, vbdparam) = string.split(uname, ':', 1)
+               if re.match('^ioemu:', typedev):
+                  (emtype, vbddev) = string.split(typedev, ':', 1)
+               else:
+                  emtype = 'vbd'
+                  vbddev = typedev
+               if emtype != 'ioemu':
+                  continue;
                vbddev_list = ['hda', 'hdb', 'hdc', 'hdd']
                if vbddev not in vbddev_list:
                   raise VmError("vmx: for qemu vbd type=file&dev=hda~hdd")
diff -r a56b490fa41d -r 75367adf6055 tools/python/xen/xend/server/blkif.py
--- a/tools/python/xen/xend/server/blkif.py     Mon Aug 15 20:50:25 2005
+++ b/tools/python/xen/xend/server/blkif.py     Mon Aug 15 20:50:32 2005
@@ -18,6 +18,7 @@
 """Support for virtual block devices.
 """
 import string
+import re
 
 from xen.util import blkif
 from xen.xend.XendError import XendError, VmError
@@ -199,6 +200,7 @@
         self.vdev = None
         self.mode = None
         self.type = None
+        self.emtype = None
         self.params = None
         self.node = None
         self.device = None
@@ -237,7 +239,12 @@
         # 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)
-        self.dev = sxp.child_value(config, 'dev')
+        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
         if not self.dev:
             raise VmError('vbd: Missing dev')
         self.mode = sxp.child_value(config, 'mode', 'r')
@@ -258,6 +265,8 @@
         if recreate:
             pass
         else:
+            if self.emtype == 'ioemu':
+                return
             node = Blkctl.block('bind', self.type, self.params)
             self.setNode(node)
             self.attachBackend()

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.