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

Re: [Xen-devel] Problem creating a new device type



Ewan's workaround solves my problem.  For the record, here is the 
necessary change in meterif.py:

        def getDeviceDetails(self, config):
                devid = self.allocateDeviceID()
                back = { 'hotplug-status' : 'connected' }
                return (devid, back, {})

By the way, did I miss a page that discusses this on the Xen wiki or on 
this list?  (I'd searched these, but to no avail.)

> You lost me completely.  What is it you want to do?

I'd like to start three domains:
1. dom0 [xen0 kernel]
2. my-backend [xen0 kernel]: the meter backend domain
3. my-frontend-1 [xenU kernel]: connects to my-backend
4. my-frontend-2 [xenU kernel]: connects to my-backend
etc.

In other words, the meter backend functionality will be entirely contained 
in the "my-backend" domain.  My understanding of the "netif", "blkif", and 
"tpmif" domain configuration options is that they're intended for exactly 
this purpose?

Thanks,
JLG



Ewan Mellor <ewan@xxxxxxxxxxxxx> wrote on 11/12/2005 03:19:06 PM:

> On Sat, Nov 12, 2005 at 02:53:10PM -0500, John L Griffin wrote:
> 
> > Howdy xen folks,
> > 
> > I am having trouble creating a new device type (e.g., vif, vbd, vtpm). 
 I 
> > call this new device type "meter".
> > 
> > I'm using an up-to-date xen-unstable tree.  When I start a guest 
domain 
> > (with a "meter" domain configuration option), the startup process 
hangs 
> > for two minutes and produces a "Error: Device 0 (meter) could not be 
> > connected. Hotplug scripts not working" message.  The guest domain is 
then 
> > stuck in the "paused" state until I kill it.
> > 
> > During this, the xenbus successfully probes the backend, and the 
correct 
> > "frontend" and "frontend-id" are available to the backend on the 
xenbus.
> > 
> > I've included the "xm log" error and a summary of the files I've 
modified 
> > below.
> > 
> > My questions are:
> > 
> > 1. Have I left out modifying a necessary file when creating a new 
device 
> > type?
> > 
> > 2. Any ideas as to what could be going on that's preventing my new 
guest 
> > domain from starting?
> 
> It looks like your driver doesn't use any hotplug scripts.  The code in
> DevController expects all drivers to be using hotplug, and to write a 
node
> backend/<deviceClass>/<deviceID>/hotplug-status = connected when the
> hotplugging is complete.
> 
> If you are not going to use hotplug, then the easiest way to work around 
this
> is to write this node yourself by adding it to the backend dictionary 
returned
> from MeterifController.getDeviceDetails.  This will mean that you have 
no
> check that your device is working, but that sounds like exactly what you 
want
> at the moment.
> 
> This check will be changing soon (though not in any major way) so we 
ought to
> be able to accommodate non-hotplug drivers more neatly.
> 
> > 3. Once it's working with dom0 as the backend, will it be possible to 
> > start my backend in a non-dom0 domain, or is the code not to that 
point 
> > yet?
> 
> You lost me completely.  What is it you want to do?
> 
> Ewan.


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


 


Rackspace

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