Stefan Berger
2006-Oct-04 02:48 UTC
[Xen-devel] [RFC] 2nd -- Disallowing xm operations on HVM domains
Previous patch would only work once a domain has been started. :-/ This
one here fixes the startup problem and does not allow to attach a block
device to an HVM domain once the domain has been started. Migration can
also be prevented.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
--- a/tools/python/xen/xend/XendDomainInfo.py Tue Oct 3
10:39:22 2006
+++ b/tools/python/xen/xend/XendDomainInfo.py Tue Oct 3
22:42:33 2006
@@ -468,6 +468,8 @@
self.refresh_shutdown_lock = threading.Condition()
self.setResume(resume)
+
+ self.has_started = False
## private:
@@ -1081,8 +1083,14 @@
## private:
+
+ def disallowForHVM(self):
+ if self.info[''image''][0] == "hvm" and
self.has_started:
+ raise XendError("Operation not allow on HVM-type domain.")
+
def createDevice(self, deviceClass, devconfig):
+ self.disallowForHVM()
return
self.getDeviceController(deviceClass).createDevice(devconfig)
@@ -1621,6 +1629,7 @@
def unpause(self):
+ self.has_started = True
xc.domain_unpause(self.domid)
diff -r 38f9bd7a4ce6 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py Tue Oct 3
10:39:22 2006
+++ b/tools/python/xen/xend/XendDomain.py Tue Oct 3
22:42:33 2006
@@ -432,6 +432,8 @@
if dominfo.getDomid() == PRIV_DOMAIN:
raise XendError("Cannot migrate privileged domain %s" %
domid)
+
+ dominfo.disallowForHVM()
""" The following call may raise a XendError exception
"""
dominfo.testMigrateDevices(True, dst)
diff -r 38f9bd7a4ce6 tools/python/xen/xend/XendDomainInfo.py
Certain operations, such as for example ''xm block-attach''
don''t work on
HVM domains and should be intercepted in xend. The following patch shows
an example of how this could be done. When run, unfortunately the usage of
block-detach is still shown.
Stefan
diff -r 38f9bd7a4ce6 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Tue Oct 3
10:39:22 2006
+++ b/tools/python/xen/xend/XendDomainInfo.py Tue Oct 3
21:05:11 2006
@@ -1081,8 +1081,14 @@
## private:
+
+ def disallowHVM(self):
+ if self.info[''image''][0] == "hvm":
+ raise XendError("Operation not allow on HVM-type domain.")
+
def createDevice(self, deviceClass, devconfig):
+ self.disallowHVM()
return
self.getDeviceController(deviceClass).createDevice(devconfig)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Doi.Tsunehisa@jp.fujitsu.com
2006-Oct-04 03:34 UTC
Re: [Xen-devel] [RFC] 2nd -- Disallowing xm operations on HVM domains
Hi, You (stefanb) said:> Previous patch would only work once a domain has been started. :-/ This > one here fixes the startup problem and does not allow to attach a block > device to an HVM domain once the domain has been started. Migration can > also be prevented.I''m wondering that you don''t consider about PV-on-HVM drivers. On a HVM domain with PV-on-HVM VBD driver, it can be attached a block device with xm block-attach command. Thanks, - Tsunehisa Doi _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Stefan Berger
2006-Oct-04 13:36 UTC
Re: [Xen-devel] [RFC] 2nd -- Disallowing xm operations on HVM domains
micky@photon.sky.yk.fujitsu.co.jp wrote on 10/03/2006 11:34:39 PM:> Hi, > > You (stefanb) said: > > Previous patch would only work once a domain has been started. :-/This> > one here fixes the startup problem and does not allow to attach ablock> > device to an HVM domain once the domain has been started. Migrationcan> > also be prevented. > > I''m wondering that you don''t consider about PV-on-HVM drivers. > > On a HVM domain with PV-on-HVM VBD driver, it can be attached > a block device with xm block-attach command.Right, I had not thought of that. Block-attach and network-attach have to still go through. That leaves the usefulness to migration and few others. Stefan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel