All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Vrabel <david.vrabel@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Subject: Re: [PATCH for-4.6 4/8] docs/libxl: Re-specify XENSTORE_DATA as EMULATOR_XENSTORE_DATA
Date: Wed, 29 Jul 2015 10:35:52 +0100	[thread overview]
Message-ID: <55B89E78.60701@citrix.com> (raw)
In-Reply-To: <1438119883-8083-5-git-send-email-andrew.cooper3@citrix.com>

On 28/07/15 22:44, Andrew Cooper wrote:
> The legacy "toolstack" record as implemented in libxl turns out not to
> be 32/64bit safe.  As migration v2 has not shipped yet, take this
> opportunity to adjust the specification and fix the incompatibility.
> 
> Libxl shall loose all knowledge of the old "toolstack" blob and use this
> EMULATOR_XENSTORE_DATA record instead.  Compatibility shall be handled
> by the legacy conversion script.
[...]
> +EMULATOR\_XENSTORE\_DATA
> +------------------------
>  
> -A record containing xenstore key/value pairs of data.
> +A set of xenstore key/value pairs for a specific emulator associated with the
> +domain.
>  
>       0     1     2     3     4     5     6     7 octet
> -    +-------------------------------------------------+
> -    | xenstore key/value pairs                        |
> +    +------------------------+------------------------+
> +    | emulator_id            | index                  |
> +    +------------------------+------------------------+
> +    | xenstore key/value data                         |
>      ...
>      +-------------------------------------------------+
>  
> +Xenstore key and value data are encoded as a pair of NUL terminated C
> +strings.  Keys shall be relative to to the device models xenstore tree for the
> +new domain

This isn't quite descriptive enough, suggest:

   "Xenstore key/value data is encoded as a packed sequence of (key,
    value) tuples.  Each (key, value) tuple is a packed pair of NUL
    terminated UTF-8 encoded character strings.  The keys are relative
    to..."

In particular, it is essential that character strings have a well
defined encoding (I always recommend UTF-8) but the Xenstore protocol
may specify a different encoding (perhaps ASCII?).  The data may also be
better specified as a NULL-terminated octet sequence (rather than
characters).

> +
> +i.e. relative to `/local/domain/$dm_domid/device-model/$domid/`
> +
> +The _emulator\_id_ and _index_ have the same meaning as the
> +**EMULATOR\_CONTEXT** record.
> +
>  EMULATOR\_CONTEXT
>  ----------------
>  

  reply	other threads:[~2015-07-29  9:35 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-28 21:44 [PATCH for-4.6 0/8] Fix libxl TOOLSTACK records for migration v2 Andrew Cooper
2015-07-28 21:44 ` [PATCH for-4.6 1/8] tools/libxl: Only continue stream operations if the stream is still in progress Andrew Cooper
2015-07-28 21:44 ` [PATCH for-4.6 2/8] tools/libxl: Assert that libxl__ao_inprogress_gc() is not called with NULL Andrew Cooper
2015-07-29 11:03   ` Ian Jackson
2015-07-28 21:44 ` [PATCH for-4.6 3/8] tools/libxl: Make libxl__conversion_helper_abort() safe to use Andrew Cooper
2015-07-29 11:22   ` Ian Jackson
2015-07-28 21:44 ` [PATCH for-4.6 4/8] docs/libxl: Re-specify XENSTORE_DATA as EMULATOR_XENSTORE_DATA Andrew Cooper
2015-07-29  9:35   ` David Vrabel [this message]
2015-07-30 16:42     ` Andrew Cooper
2015-07-29 11:28   ` Ian Jackson
2015-07-30 16:35     ` Andrew Cooper
2015-07-28 21:44 ` [PATCH for-4.6 5/8] tools/libxl: Save and restore EMULATOR_XENSTORE_DATA content Andrew Cooper
2015-07-29 10:51   ` Wei Liu
2015-07-29 11:49   ` Ian Jackson
2015-07-30 17:34     ` Andrew Cooper
2015-07-31 16:34       ` Ian Jackson
2015-07-31 16:38         ` Andrew Cooper
2015-07-31 16:56           ` Ian Campbell
2015-07-31 17:36             ` Andrew Cooper
2015-07-28 21:44 ` [PATCH for-4.6 6/8] tools/libxl: Prepare to write multiple records with EMULATOR headers Andrew Cooper
2015-07-29 11:54   ` Ian Jackson
2015-07-30 17:36     ` Andrew Cooper
2015-07-28 21:44 ` [PATCH for-4.6 7/8] libxl/save&restore&convert: Switch to new EMULATOR_XENSTORE_DATA records Andrew Cooper
2015-07-29 11:14   ` Wei Liu
2015-07-29 12:00   ` Ian Jackson
2015-07-31 10:17     ` Andrew Cooper
2015-07-31 16:38       ` Ian Jackson
2015-07-28 21:44 ` [PATCH for-4.6 8/8] tools/libxl: Drop all legacy "toolstack" record infrastructure Andrew Cooper
2015-07-29 11:10   ` Wei Liu
2015-07-29 12:00   ` Ian Jackson
2015-07-29 15:05 ` [PATCH for-4.6 0/8] Fix libxl TOOLSTACK records for migration v2 Ian Campbell

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=55B89E78.60701@citrix.com \
    --to=david.vrabel@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=andrew.cooper3@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.