xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: George Dunlap <George.Dunlap@eu.citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Wei Liu <wei.liu2@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 6/8] libxl: Allow local access for block devices with hotplug scripts
Date: Fri, 18 Mar 2016 17:17:44 +0000	[thread overview]
Message-ID: <CAFLBxZa6EXCXKP-JaLZn7WW3-27qDA2TygUF==jxuJAop6izPg@mail.gmail.com> (raw)
In-Reply-To: <22250.63789.160895.300725@mariner.uk.xensource.com>

On Thu, Mar 17, 2016 at 6:36 PM, Ian Jackson <Ian.Jackson@eu.citrix.com> wrote:
> George Dunlap writes ("[PATCH 6/8] libxl: Allow local access for block devices with hotplug scripts"):
>> pygrub and qemuu need to be able to access a VM's disks locally in
>> order to be able to pull out the kernel and provide emulated disk
>> access, respectively.  This can be done either by accessing the local
>> disk directly, or by plugging the target disk into dom0 to allow
>> access.
>
> Some long lines, `if(', etc., in this patch, I'm afraid.
>
>> Unfortunately, while the plugging machinery works for pygrub, it does
>> not yet work for qemuu; meaning that disk hotplug scripts cannot be
>> used with HVM domains.
>>
>> Fortunately, disks using hotplug scripts created in dom0 do create a
>> block device as part of set-up, which can be accessed locally; and if
>> they use block-common.sh:write_dev, this path will bre written to
>> physical-device-path.
>>
>> Modify libxl__device_disk_setdefault() to be able to fish this path
>> out of xenstore and pass it back.
>>
>> We need the target domid to find the appropriate xenstore node, so add
>> that to libxl__disk_local_state.
>
> I couldn't find that change in this patch.

Oops -- forgot to take this paragraph out after porting it on top of
patch 2 (which changes libxl not to duplicate the work of 'block'
anymore).  I'll remove this.

>
>> +    /*
>> +     * If the format isn't raw and / or we're using a script, then see
>> +     * if the script has written a path to the "cooked" node
>> +     */
>> +    if(disk->script && domid != INVALID_DOMID) {
>> +        libxl__device device;
>> +        char *be_path, *pdpath;
>> +        int rc;
>
> I don't see where you check that the disk is not being provided by a
> driver domain - in which case the hotplug script ran in the driver
> domain and the device path is also only in the driver domain.
>
> (By `driver domain' I mean, really, a domain other than this one.)

It's in patch 4 (still at the top of this function):

+    /* No local paths for driver domains */
+    if (disk->backend_domname != NULL) {
+        LOG(DEBUG, "Non-local backend, can't access locally.\n");
+        goto out;
+    }

>
>>  _hidden char * libxl__device_disk_find_local_path(libxl__gc *gc,
>> +                                                  libxl_domid domid,
>
> This new parameter would maybe be a little less confusing if it were
> explicitly `guest_domid'; after all it might be the driver domain
> domid.

Ack.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-03-18 17:17 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-16 16:09 [PATCH 0/8] tools: Allow HVM domains emulated access to disks provided by hotplug scripts George Dunlap
2016-03-16 16:09 ` [PATCH 1/8] tools/hotplug: Add a "dummy" hotplug script for testing George Dunlap
2016-03-16 16:54   ` Ian Jackson
2016-03-16 16:09 ` [PATCH 2/8] libxl: Remove redundant setting of phyical-device George Dunlap
2016-03-16 16:54   ` Ian Jackson
2016-03-16 16:09 ` [PATCH 3/8] tools/hotplug: Write physical-device-path in addition to physical-device George Dunlap
2016-03-16 16:56   ` Ian Jackson
2016-03-16 16:57     ` George Dunlap
2016-03-16 16:09 ` [PATCH 4/8] libxl: Move check for local access to a funciton George Dunlap
2016-03-16 16:58   ` Ian Jackson
2016-03-16 17:02     ` George Dunlap
2016-03-17 18:11   ` Ian Jackson
2016-03-21 15:35     ` George Dunlap
2016-03-16 16:09 ` [PATCH 5/8] libxl: Share logic for finding path between qemuu and pygrub George Dunlap
2016-03-17 18:22   ` Ian Jackson
2016-03-18 17:09     ` George Dunlap
2016-04-01 14:17       ` Ian Jackson
2016-03-16 16:09 ` [PATCH 6/8] libxl: Allow local access for block devices with hotplug scripts George Dunlap
2016-03-17 18:36   ` Ian Jackson
2016-03-18 17:17     ` George Dunlap [this message]
2016-03-16 16:09 ` [PATCH 7/8] docs: Document block-script protocol George Dunlap
2016-03-16 22:57   ` Jim Fehlig
2016-03-17  9:55     ` George Dunlap
2016-03-17 18:38   ` Ian Jackson
2016-03-16 16:09 ` [PATCH 8/8] DO NOT APPLY libxl: Change hotplug script interface to use physical-device-path George Dunlap

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='CAFLBxZa6EXCXKP-JaLZn7WW3-27qDA2TygUF==jxuJAop6izPg@mail.gmail.com' \
    --to=george.dunlap@eu.citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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).