xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
To: "rshriram@cs.ubc.ca" <rshriram@cs.ubc.ca>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: libxl - API call to return sxpr of a domain?
Date: Fri, 10 Jun 2011 07:27:13 +0100	[thread overview]
Message-ID: <1307687233.12738.14.camel@dagon.hellion.org.uk> (raw)
In-Reply-To: <BANLkTinvU-pctriAUmYH8g2_GZ67kmCVXw@mail.gmail.com>

(FYI, I'm about to disappear for a long weekend, back on Tuesday)

On Fri, 2011-06-10 at 00:59 +0100, Shriram Rajagopalan wrote:
> On Thu, Jun 9, 2011 at 7:34 AM, Ian Campbell
> <Ian.Campbell@eu.citrix.com> wrote:


>         The "foo|bar" syntax is completely new to me (and I suspect
>         anyone else not familiar with remus). How does it work? Is the
>         full "backupHost:port|aio:/dev/foo" considered the argument to
>         Remus (in which case I think it can work via the Remus script
>         as above) or does xend somehow parse this into
>         "remus:backupHost:port" and "aio:/dev/foo"?
>         In the latter case I've no idea what to suggest!
>         
> I dont think the script= directive is going to work (or even
> necessary). The entire "foo|bar" part is handled by the blktap2 code
> base. IOW, if the disk spec is tap:remus:host:port|aio:/dev/abc, then
> xl invokes the blktap2 code and passes remus:host:port|aio:/dev/abc ,
> which gets parsed and both remus and aio drivers are created (remus
> driver on top of aio).

OK, so in the terminology of xl-disk-configuration.txt "remus:host:port|
aio:/dev/abc" is the "target" and could potentially be handled
internally when libxl creates a blktap backend.

You mention below that block-drdb works so I very much expect that
block-remus would work too, even if ultimately it was just a thin
wrapper around tapctl etc. In that case I think the target would end up
just being "host:port|aio:/dev/abc" because the remus: would be a
shortcut for script=remus.

>         Have you considered making Remus a more top-level domain
>         configuration option rather than disk specific? i.e. adding
>         remus_backup = "..." to the cfg. This would allow libxl to do
>         the right thing internally and setup the disks in the right
>         way etc etc.

>         
> Yes I have, several times. Wading through xend code was not so much
> fun :(.

Yeah, I didn't mean for xend...

> With xl, as long as it can construct the "remus:host:port|
> aio:/dev/abc" arg and pass it to the blktap2 code, things should be
> fine.
>  With a DRBD based backend, nothing of this sort is required. Xend
> automatically invokes the block-drbd script, which does the rest. If
> xl does the same, then things should be fine.

[...]

>         looks mostly the same as xl, except xl does all the
>         xc_domain_save stuff
>         in process rather than indirecting via an external binary. 
> Do you mean that xl does all the xend stuff ? Because xl still calls
> xc_domain_save
> in libxl_dom.c:libxl__domain_suspend_common

What I meant was that in xend the xc_domain_save happens in a separate
helper process (xc_save) while in xl the xc_domain_save happens in the
original xl process itself (via libxl which calls libxc).

libxl uses libxc to do the low level stuff, like make hypercalls and do
migrations etc. Users of libxl (e.g. xl) don't get to see libxc though,
it is abstracted away.

Ian.

      reply	other threads:[~2011-06-10  6:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-07  3:30 libxl - API call to return sxpr of a domain? Shriram Rajagopalan
2011-06-07  9:02 ` Ian Campbell
2011-06-07 15:30   ` Shriram Rajagopalan
2011-06-07 16:16     ` Ian Campbell
2011-06-08 15:55       ` Shriram Rajagopalan
2011-06-09 11:34         ` Ian Campbell
2011-06-09 23:59           ` Shriram Rajagopalan
2011-06-10  6:27             ` Ian Campbell [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=1307687233.12738.14.camel@dagon.hellion.org.uk \
    --to=ian.campbell@eu.citrix.com \
    --cc=rshriram@cs.ubc.ca \
    --cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).