From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Thanos Makatos <thanos.makatos@citrix.com>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: libxl: locally attaching disk
Date: Tue, 14 May 2013 18:30:22 +0200 [thread overview]
Message-ID: <5192669E.1080909@citrix.com> (raw)
In-Reply-To: <4B45B535F7F6BE4CB1C044ED5115CDDE01541F4E9620@LONPMAILBOX01.citrite.net>
On 14/05/13 18:17, Thanos Makatos wrote:
>>> I run into the following problem: blkfront goes directly from state 1
>> to state 3, the back-end follows by jumping to state 4, and finally the
>> front-end goes to state 4 and everything works fine (this is what is
>> done for domU guests using blktap3 without pygrub). However, it seems
>> that libxl expects the backend to step through each state (specifically
>> it times out waiting for the back-end to go to state 2 but the back-end
>> has already gone to state 4). If I correctly understand the protocol
>> specification in xen/include/public/io/blkif.h, libxl shouldn't be
>> doing that. Here's the output of libxl:
>>
>> Hello,
>>
>> In libxl we wait for the backend to reach state 2 because for blkback
>> backends we have to execute hotplug scripts. If you take a look at
>> libxl__wait_device_connection in libx_device.c you will see that if the
>> backend is Qemu, we skip the waiting and instead jump to device_hotplug
>> directly. Since blktap backend don't use hotplug scripts, and hence
>> don't wait in state 2 for device hotplug execution you should implement
>> something similar for blktap backends.
>
> So if I get this straight, we shouldn't execute device_hotplug for blktap3 because we don't use hotplug scripts. Also, in the same function, we do need to execute libxl__ev_devstate_wait but setting the XenbusState to XenbusStateConnected, because lixbl must wait for blkfront to connect to tapdisk in order access the block device. Is this correct?
local_device_attach_cb (in libxl.c) already does wait for the device to
reach state 4 (connected), in libxl__wait_device_connection you should
just skip the wait for state 2.
next prev parent reply other threads:[~2013-05-14 16:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-14 13:20 libxl: locally attaching disk Thanos Makatos
2013-05-14 13:49 ` Ian Campbell
2013-05-14 14:40 ` Roger Pau Monné
2013-05-14 16:17 ` Thanos Makatos
2013-05-14 16:30 ` Roger Pau Monné [this message]
2013-05-15 8:47 ` Thanos Makatos
-- strict thread matches above, loose matches on Subject: below --
2013-05-14 13:42 Thanos Makatos
2013-05-14 14:41 ` Roger Pau Monné
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=5192669E.1080909@citrix.com \
--to=roger.pau@citrix.com \
--cc=thanos.makatos@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 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.