From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Simon Gaiser <simon@invisiblethingslab.com>,
Ian Jackson <ian.jackson@citrix.com>,
Eric Shelton <eshelton@pobox.com>, Wei Liu <wei.liu2@citrix.com>,
xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain.
Date: Thu, 15 Nov 2018 19:57:08 +0100 [thread overview]
Message-ID: <20181115185708.GI781@mail-itl> (raw)
In-Reply-To: <20181115174144.GM1302@perard.uk.xensource.com>
[-- Attachment #1.1: Type: text/plain, Size: 2839 bytes --]
On Thu, Nov 15, 2018 at 05:41:44PM +0000, Anthony PERARD wrote:
> On Thu, Nov 01, 2018 at 06:32:07PM +0100, Marek Marczykowski-Górecki wrote:
> > On Thu, Nov 01, 2018 at 04:57:18PM +0000, Ian Jackson wrote:
> > > Marek Marczykowski-Górecki writes ("Re: [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain."):
> > > > 2. pv console
> > > > pros:
> > > > - no qemu modifications
> > > > - same read()/write() on libxl side
> > > > cons:
> > > > - no out of band reset, needs libxl handling for that (skipping
> > > > negotiation)
> > >
> > > Doesn't this potentially mean that the qmp console connection can
> > > become irrecoverably desynchronised ? I don't know how you would
> > > recover from the situation where another libxl process had got halfway
> > > through some qmp stuff and been terminated (for whatever reason; maybe
> > > the calling toolstack crashed).
> >
> > That's right, it could result in irrecoverably desynchronised
> > connection. So, we need out of band reset.
>
> Actually, it looks like we can recover that situation without out of
> band reset. It's even in the spec[1]:
That's interesting. And it mention serial console explicitly as the use
case for this. Does it apply to monitor socket too, or guest agent only?
I'd much prefer to use console, as the code would be much simpler (the
same handling for local and stubdomain qemu).
Also, this doesn't cover capabilities (re-)negotiation. While actual
capabilities are probably not a problem, libxl do store qemu version
from the server greeting (is it used anywhere?).
(...)
> previous section:
> 2.6 Forcing the JSON parser into known-good state
> -------------------------------------------------
>
> Incomplete or invalid input can leave the server's JSON parser in a
> state where it can't parse additional commands. To get it back into
> known-good state, the client should provoke a lexical error.
>
> The cleanest way to do that is sending an ASCII control character
> other than '\t' (horizontal tab), '\r' (carriage return), or '\n' (new
> line).
>
> Sadly, older versions of QEMU can fail to flag this as an error. If a
> client needs to deal with them, it should send a 0xFF byte.
That's weird as guest-sync-delimiter documentation (still?) mention
0xFF. In both directions. Does it mean the new recommendation is to use
ASCII control character in one direction, but expect 0xFF in the other?
> [1] https://git.qemu.org/?p=qemu.git;a=blob;f=docs/interop/qmp-spec.txt;h=8f7da0245d51447be7df2b3d4b105bad9fbec0b3;hb=HEAD#l231
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
[-- Attachment #2: Type: text/plain, Size: 157 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-11-15 18:57 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-07 2:16 [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 01/17] libxl: fix qemu-trad cmdline for no sdl/vnc case Marek Marczykowski-Górecki
2018-08-09 9:19 ` Wei Liu
2018-10-16 16:55 ` Ian Jackson
2018-08-07 2:16 ` [RFC PATCH v2 02/17] libxl: Add "stubdomain_version" to domain_build_info Marek Marczykowski-Górecki
2018-08-09 9:25 ` Wei Liu
2018-09-03 22:25 ` Marek Marczykowski-Górecki
2018-10-16 16:43 ` Ian Jackson
2018-10-16 17:36 ` Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 03/17] libxl: Handle Linux stubdomain specific QEMU options Marek Marczykowski-Górecki
2018-08-09 9:31 ` Wei Liu
2018-08-09 16:23 ` Jason Andryuk
2018-10-16 17:16 ` Ian Jackson
2018-10-16 17:51 ` Marek Marczykowski-Górecki
2018-10-19 9:32 ` Roger Pau Monné
2018-08-07 2:16 ` [RFC PATCH v2 04/17] libxl: Build the domain with a Linux based stubdomain Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 05/17] libxl: use xenstore for pci hotplug qemu-in-linux-stubdom commands Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 06/17] libxl: create vkb device only for guests with graphics output Marek Marczykowski-Górecki
2018-11-01 17:05 ` Ian Jackson
2018-11-01 20:24 ` Stefano Stabellini
2018-08-07 2:16 ` [RFC PATCH v2 07/17] libxl: add save/restore support for qemu-xen in stubdomain Marek Marczykowski-Górecki
2018-11-01 17:11 ` Ian Jackson
2018-11-01 17:16 ` Marek Marczykowski-Górecki
2018-11-01 17:41 ` Ian Jackson
2018-08-07 2:16 ` [RFC PATCH v2 08/17] xl: add stubdomain related options to xl config parser Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 09/17] libxl: use \x1b to separate qemu arguments for linux stubdomain Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 10/17] xenconsoled: install xenstore watch for all supported consoles Marek Marczykowski-Górecki
2018-09-19 17:43 ` Wei Liu
2018-08-07 2:16 ` [RFC PATCH v2 11/17] xenconsoled: add support for consoles using 'state' xenstore entry Marek Marczykowski-Górecki
2018-11-01 17:21 ` Ian Jackson
2019-01-09 12:21 ` Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 12/17] xenconsoled: make console_type->use_gnttab less confusing Marek Marczykowski-Górecki
2018-11-01 17:25 ` Ian Jackson
2018-08-07 2:16 ` [RFC PATCH v2 13/17] xenconsoled: add support for up to 3 secondary consoles Marek Marczykowski-Górecki
2018-11-01 17:31 ` Ian Jackson
2018-11-01 18:25 ` Marek Marczykowski-Górecki
2018-11-02 17:50 ` [RFC PATCH v2 13/17] xenconsoled: add support for up to 3 secondary consoles [and 1 more messages] Ian Jackson
2018-11-01 20:27 ` [RFC PATCH v2 13/17] xenconsoled: add support for up to 3 secondary consoles Stefano Stabellini
2018-08-07 2:16 ` [RFC PATCH v2 14/17] xenconsoled: deduplicate error handling Marek Marczykowski-Górecki
2018-11-01 17:31 ` Ian Jackson
2018-08-07 2:16 ` [RFC PATCH v2 15/17] xenconsoled: add support for non-pty output Marek Marczykowski-Górecki
2018-11-01 17:35 ` Ian Jackson
2018-11-01 17:54 ` Marek Marczykowski-Górecki
2018-08-07 2:16 ` [RFC PATCH v2 16/17] libxl: access QMP socket via console for qemu-in-stubdomain Marek Marczykowski-Górecki
2018-11-01 17:38 ` Ian Jackson
2018-08-07 2:16 ` [RFC PATCH v2 17/17] libxl: use xenconsoled even for multiple stubdomain's consoles Marek Marczykowski-Górecki
2018-10-16 16:53 ` [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain Ian Jackson
2018-10-16 17:32 ` Marek Marczykowski-Górecki
2018-10-16 17:52 ` Ian Jackson
2018-10-16 20:46 ` Marek Marczykowski-Górecki
2018-10-17 10:17 ` Ian Jackson
2018-10-17 15:16 ` Ian Jackson
2018-10-17 16:05 ` Marek Marczykowski-Górecki
2018-11-01 16:57 ` Ian Jackson
2018-11-01 17:32 ` Marek Marczykowski-Górecki
2018-11-01 17:48 ` Ian Jackson
2018-11-01 18:04 ` Marek Marczykowski-Górecki
2018-11-02 16:53 ` Ian Jackson
2018-11-02 17:01 ` [PATCH 0/8] libvchan: Minor improvements Ian Jackson
2018-11-02 17:01 ` [PATCH 1/8] tools/libvchan: Initialise xs_transaction_t to XBT_NULL, not NULL Ian Jackson
2018-11-06 9:40 ` Wei Liu
2018-11-02 17:01 ` [PATCH 2/8] tools/xenstore: Document that xs_close(0) is OK Ian Jackson
2018-11-06 9:41 ` Wei Liu
2018-11-28 11:41 ` Wei Liu
2018-11-02 17:01 ` [PATCH 3/8] tools/libvchan: init_xs_srv: Simplify error handling (1) Ian Jackson
2018-11-06 9:47 ` Wei Liu
2018-11-02 17:01 ` [PATCH 4/8] tools/libvchan: init_xs_srv: Simplify error handling (2) Ian Jackson
2018-11-06 9:48 ` Wei Liu
2018-11-06 11:42 ` Ian Jackson
2018-11-02 17:01 ` [PATCH 5/8] tools/libvchan: init_xs_srv: Turn xs retry from goto into for (; ; ) Ian Jackson
2018-11-06 9:48 ` Wei Liu
2018-11-02 17:01 ` [PATCH 6/8] tools/libvchan: Add xentoollog to direct dependencies Ian Jackson
2018-11-06 9:48 ` Wei Liu
2018-11-02 17:01 ` [PATCH 7/8] tools/libvchan: libxenvchan_*_init: Promise an errno Ian Jackson
2018-11-06 9:49 ` Wei Liu
2018-11-02 17:01 ` [PATCH 8/8] tools/libvchan: libxenvchan_client_init: use ENOENT for no server Ian Jackson
2018-11-06 10:00 ` Wei Liu
2018-11-06 11:45 ` Ian Jackson
2018-11-06 12:15 ` Marek Marczykowski-Górecki
2018-11-06 15:57 ` Ian Jackson
2018-11-15 17:41 ` [RFC PATCH v2 00/17] Add support for qemu-xen runnning in a Linux-based stubdomain Anthony PERARD
2018-11-15 18:57 ` Marek Marczykowski-Górecki [this message]
2018-11-16 10:39 ` Anthony PERARD
2018-11-18 17:25 ` Marek Marczykowski-Górecki
2018-11-19 12:03 ` Anthony PERARD
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=20181115185708.GI781@mail-itl \
--to=marmarek@invisiblethingslab.com \
--cc=anthony.perard@citrix.com \
--cc=eshelton@pobox.com \
--cc=ian.jackson@citrix.com \
--cc=simon@invisiblethingslab.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.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).