From: Andrew Cooper <andrew.cooper3@citrix.com>
To: David Vrabel <david.vrabel@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: Thu, 30 Jul 2015 17:42:25 +0100 [thread overview]
Message-ID: <55BA53F1.5080207@citrix.com> (raw)
In-Reply-To: <55B89E78.60701@citrix.com>
On 29/07/15 10:35, David Vrabel wrote:
>
>> +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 best I can find is from xenstore.txt which says:
While xenstore and most tools and APIs are capable of dealing with
arbitrary binary data as values, this should generally be avoided.
Data should generally be human-readable for ease of management and
debugging; xenstore is not a high-performance facility and should be
used only for small amounts of control plane data. Therefore xenstore
values should normally be 7-bit ASCII text strings containing bytes
0x20..0x7f only, and should not contain a trailing nul byte.
I don't think it is wise to constrain the record format further than
xenstore permits.
> The data may also be
> better specified as a NULL-terminated octet sequence (rather than
> characters).
I will opt for octet sequence, and state that it should be encoded
suitably for xenstore, without actually being more specific.
~Andrew
next prev parent reply other threads:[~2015-07-30 16:42 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
2015-07-30 16:42 ` Andrew Cooper [this message]
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=55BA53F1.5080207@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=david.vrabel@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.