All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Wray <mike.wray@hp.com>
To: sting sting <zstingx@hotmail.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: trying to trace xm create
Date: Tue, 10 May 2005 15:45:19 +0100	[thread overview]
Message-ID: <4280C8FF.1020902@hp.com> (raw)
In-Reply-To: <BAY22-F24D916B7FFB2B584DD3884AA1E0@phx.gbl>

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

      reply	other threads:[~2005-05-10 14:45 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-09 11:07 trying to trace xm create sting sting
2005-05-10 14:45 ` Mike Wray [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4280C8FF.1020902@hp.com \
    --to=mike.wray@hp.com \
    --cc=xen-devel@lists.xensource.com \
    --cc=zstingx@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.