On Thu, Jan 03, 2013 at 02:23:03PM +0100, Gerd Hoffmann wrote: > Commit 586502189edf9fd0f89a83de96717a2ea826fdb0 breaks libvirt pty > support because it tried to figure the pts name from stderr output. > > Fix this by moving the label to the end of the line, this way the > libvirt parser does still recognise the message. libvirt looks > for "char device redirected to ${ptsname}<whitespace>".
FWIW, libvirt was not supposed to be parsing this data still. We rely on query-chardev to get the PTYs, but we were accidentally still invoking the stdio parsing code even though we didn't use the result :-( This flaw is fixed in latest libvirt GIT. > > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > --- > qemu-char.c | 9 +++++---- > 1 files changed, 5 insertions(+), 4 deletions(-) > > diff --git a/qemu-char.c b/qemu-char.c > index 331ad5c..f41788c 100644 > --- a/qemu-char.c > +++ b/qemu-char.c > @@ -1012,10 +1012,11 @@ static CharDriverState *qemu_chr_open_pty(QemuOpts > *opts) > qemu_opt_set(opts, "path", q_ptsname(master_fd)); > > label = qemu_opts_id(opts); > - fprintf(stderr, "char device%s%s redirected to %s\n", > - label ? " " : "", > - label ?: "", > - q_ptsname(master_fd)); > + fprintf(stderr, "char device redirected to %s%s%s%s\n", > + q_ptsname(master_fd), > + label ? " (label " : "", > + label ? label : "", > + label ? ")" : ""); > > s = g_malloc0(sizeof(PtyCharDriver)); > chr->opaque = s; Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|