From: "Roger Pau Monné" <roger.pau@citrix.com>
To: George Dunlap <dunlapg@umich.edu>
Cc: "Ian Jackson" <ian.jackson@citrix.com>,
"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
"Wei Liu" <wei.liu2@citrix.com>,
"George Dunlap" <george.dunlap@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH v2 8/9] docs: Document block-script protocol
Date: Thu, 24 Mar 2016 17:51:45 +0100 [thread overview]
Message-ID: <alpine.OSX.2.20.1603241751340.753@mac> (raw)
In-Reply-To: <CAFLBxZYMxA8Nst6fwczyMud4Z63P1yXQyzR0ofca7fLLDist1A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4480 bytes --]
On Thu, 24 Mar 2016, George Dunlap wrote:
> On Wed, Mar 23, 2016 at 12:14 PM, Roger Pau Monné <roger.pau@citrix.com> wrote:
> > On Wed, 23 Mar 2016, George Dunlap wrote:
> >> On 22/03/16 12:52, Roger Pau Monné wrote:
> >> > On Mon, 21 Mar 2016, George Dunlap wrote:
> >> >> Signed-off-by: George Dunlap <george.dunlap@citrix.com>
> >> >> ---
> >> >> Changes since v1:
> >> >> - Attempt to make a clear distinction between custom hotplug scripts
> >> >> and the script called for raw physical devices and files
> >> >>
> >> >> CC: Ian Jackson <ian.jackson@citrix.com>
> >> >> CC: Wei Liu <wei.liu2@citrix.com>
> >> >> CC: Roger Pau Monne <roger.pau@citrix.com>
> >> >> ---
> >> >> docs/misc/block-scripts.txt | 101 ++++++++++++++++++++++++++++++++++++++++++++
> >> >> 1 file changed, 101 insertions(+)
> >> >>
> >> >> diff --git a/docs/misc/block-scripts.txt b/docs/misc/block-scripts.txt
> >> >> new file mode 100644
> >> >> index 0000000..6dd5d48
> >> >> --- /dev/null
> >> >> +++ b/docs/misc/block-scripts.txt
> >> >> @@ -0,0 +1,101 @@
> >> > [...]
> >> >> +Inputs
> >> >> +------
> >> >> +
> >> >> +In all cases, the scripts are called with either "add" or "remove" as
> >> >> +the command. For custom scripts, the command will be the first
> >> >> +argument of the script (i.e. $1).
> >> >> +
> >> >> +The environment variable XENBUS_PATH will be set to the
> >> >> +path for the block device to be created.
> >> >
> >> > This is true for Linux, but not for NetBSD. On NetBSD no env variables are
> >> > needed, and everything is passed as arguments using the following format:
> >> >
> >> > ./<script> <backend_path> <xenbus state>
> >> >
> >> > Where xenbus state is either 2 or 6.
> >> >
> >> > On FreeBSD I'm aiming of using the same input interface for both block and
> >> > network scripts, and it is the following:
> >> >
> >> > ./<script> {add/remove} <backend path>
> >> >
> >> > With no env variables provided at all. So either this section is expanded,
> >> > or it is labelled as "Linux Inputs".
> >>
> >> Nothing like consistency across implementations. :-)
> >>
> >> So in the case of NetBSD, "2" means 'add' and "6" means 'remove'? Or
> >> how does that work?
> >
> > Yes, 2 means add and 6 remove.
> >
> >> Presumably there's not much we can do about NetBSD at this point, if
> >> there are (or may be) out-of-tree scripts that expect the new format.
> >> But unless there's a good reason, it seems like we should try to
> >> converge the hotplug script protocol.
> >>
> >> Was there a particular reason you wanted to use an argument instead of
> >> an environment variable? If not, it's probably better to just follow
> >> suit with the Linux protocol.
> >
> > Don't get me wrong, but the Linux protocol is all but consistent :). I'm
> > not sure if those other env variables are used by the block hotplug
> > scripts, but we also set:
> >
> > script=<script_name>
> > XENBUS_TYPE=<vbd/vif>
> > XENBUS_PATH=<be_path>
> > XENBUS_BASE_PATH="backend"
> >
> > And it's even worse for vifs, where the action parameter that we pass to
> > the hotplug script is different depending on whether we are dealing with
> > a PV or an emulated interface (PV uses "online/offline", while emulated
> > use "add/remove").
> >
> > I would like to share the same interface, but I think the Linux one is
> > simply too broken, and I don't want to put this anywhere close to FreeBSD.
> > There at least I have a chance of having something that's simple and
> > rational.
>
> OK, so how about this. I'll post the document with the input sections
> like this:
> [snip]
>
> Inputs
> ------
>
> Unfortunately the inputs to the block scripts look completely
> different for each operating system.
>
> Inputs (Linux)
> --------------
>
> In all cases, the scripts are called with either "add" or "remove" as
> the command. For custom scripts, the command will be the first
> argument of the script (i.e. $1).
>
> The environment variable XENBUS_PATH will be set to the
> path for the block device to be created.
>
> When the script is run, the following nodes shall already have been
> written into xenstore:
>
> $XENBUS/params The contents of the 'target' section of the disk
> specification verbatim.
> $XENBUS/mode 'r' (for readonly) or 'w' (for read-write)
>
> Inputs (NetBSD)
> ---------------
>
> TODO
>
> [snip]
>
> And you add a FreeBSD section in your series. If that sounds good
> I'll make the above modification and send v3.
LGTM :).
Roger.
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-03-24 16:51 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 18:16 [PATCH v2 0/9] tools: Allow HVM domains emulated access to disks provided by hotplug scripts George Dunlap
2016-03-21 18:16 ` [PATCH v2 1/9] tools/hotplug: Add a "dummy" hotplug script for testing George Dunlap
2016-03-21 18:16 ` [PATCH v2 2/9] libxl: Remove redundant setting of phyical-device George Dunlap
2016-03-21 18:16 ` [PATCH v2 3/9] tools/hotplug: Write physical-device-path in addition to physical-device George Dunlap
2016-03-21 18:16 ` [PATCH v2 4/9] libxl: Move check for local access to a funciton George Dunlap
2016-03-21 18:16 ` [PATCH v2 5/9] libxl: Rearrange qemu upstream disk argument code George Dunlap
2016-03-21 18:16 ` [PATCH v2 6/9] libxl: Share logic for finding path between qemuu and pygrub George Dunlap
2016-03-22 10:38 ` George Dunlap
2016-03-21 18:16 ` [PATCH v2 7/9] libxl: Allow local access for block devices with hotplug scripts George Dunlap
2016-03-21 18:17 ` [PATCH v2 8/9] docs: Document block-script protocol George Dunlap
2016-03-22 12:52 ` Roger Pau Monné
2016-03-23 11:19 ` George Dunlap
2016-03-23 12:14 ` Roger Pau Monné
2016-03-24 16:29 ` George Dunlap
2016-03-24 16:51 ` Roger Pau Monné [this message]
2016-03-21 18:17 ` [PATCH v2 9/9] DO NOT APPLY libxl: Change hotplug script interface to use physical-device-path George Dunlap
2016-03-23 10:10 ` [PATCH v2 0/9] tools: Allow HVM domains emulated access to disks provided by hotplug scripts Roger Pau Monné
2016-03-23 10:36 ` 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=alpine.OSX.2.20.1603241751340.753@mac \
--to=roger.pau@citrix.com \
--cc=dunlapg@umich.edu \
--cc=george.dunlap@citrix.com \
--cc=ian.jackson@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 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.