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

Re: [Xen-devel] trying to trace xm create



sting sting wrote:
Hello,

  I am trying ro trace and study a run of "xm create xmexample1" ,
after modifying xmexample1 a bit (to use ttylinux,etc).

  I have  xen-2.0-testing.
  The stack I can see (by adding printing messages) is :
main (xm/create.py)
    calling make_domain()                         (xm/create.py )
    calling server.xend_domain_create() (xm/create.py )
    xendRequest ()                                       (XendProtocol.py)

where url.location is localhost:8000 and method is POST an op=create

As can be seen here there is here a HTTP  request.

I am getting the error:
Error: Error creating domain: vbd: Segment not found: uname=file:/work/downloads/ttylinux

I don't want to solve the problem (not at least at this stage) ; I want to trace it's origin in the code. So my question is : Where does this http request being sent to ? (where is the HTTP server - is
it the SrvDaemon from under xend/server ? )

SrvDaemon is the xend main program. The HTTP server is started from code in
SrvRoot, and resources are registered for various pieces of the xend
functionality. Overall domain stuff is in SrvDomainDir, individual
domains in SrvDomain. The implementation, below the HTTP api, is
in XendDomain and XendDomainInfo.

The devices have their own classes:
blkif.py: block devices
netif.py: network interfaces
console.py: console
usbif.py: usb devices.

The 'segment not found' message is coming from inside the blkif code.
Basically it means the disk you're trying to use doesn't exist.

If you stop xend and restart with 'xend trace_start' it will trace its
execution to /var/log/xend.trace.

And more important: where does this create domain request reach ? I assume it does reach a "C" code and I assume it reaches xc_domain_create() method from tools\ libxc\xc_domain.c ; am I right ?

Yes, domain create does call xc_domain_create(), but that's just the start of 
it.
The main work in creating a domain is setting up its devices, which involves a
lot of messaging between the device code in xen, the front-end
device drivers in the domain and the back-end device drivers in backend domains.

Regards,

Mike

_______________________________________________
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®.