On Mon, Apr 15, 2019 at 06:16:33PM +0200, Marc-André Lureau wrote: > On Mon, Apr 15, 2019 at 6:08 PM Daniel P. Berrangé <berra...@redhat.com> > wrote: > > > > On Mon, Apr 15, 2019 at 06:06:09PM +0200, Marc-André Lureau wrote: > > > Commit 767abe7 ("chardev: forbid 'wait' option with client sockets") > > > is a bit too strict. Current libvirt always set wait=false, and will > > > thus fail to add client chardev. > > > > > > Make the code more permissive, allowing wait=false with client socket > > > chardevs. > > > > > > Fixes: 767abe7f49e8be14d29da5db3527817b5d696a52 > > > Cc: Daniel P. Berrangé <berra...@redhat.com> > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > > --- > > > chardev/char-socket.c | 10 +++++++--- > > > 1 file changed, 7 insertions(+), 3 deletions(-) > > > > > > diff --git a/chardev/char-socket.c b/chardev/char-socket.c > > > index 3916505d67..ebc1adb83e 100644 > > > --- a/chardev/char-socket.c > > > +++ b/chardev/char-socket.c > > > @@ -1263,9 +1263,13 @@ static bool > > > qmp_chardev_validate_socket(ChardevSocket *sock, > > > return false; > > > } > > > if (sock->has_wait) { > > > - error_setg(errp, "%s", > > > - "'wait' option is incompatible with " > > > - "socket in client connect mode"); > > > + warn_report("'wait' option is deprecated with " > > > + "socket in client connect mode"); > > > + if (sock->wait) { > > > + error_setg(errp, "%s", > > > + "'wait' option is incompatible with " > > > + "socket in client connect mode"); > > > + } > > > return false; > > > } > > > } > > > > NB, it should also update qemu-deprecated.texi > > Is that clear enough? > > diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi > index 2219386769..0f53d1c228 100644 > --- a/qemu-deprecated.texi > +++ b/qemu-deprecated.texi > @@ -105,6 +105,12 @@ details. > The ``query-events'' command has been superseded by the more powerful > and accurate ``query-qmp-schema'' command. > > +@subsection chardev client socket with 'wait' option (since 4.0) > + > +The ``chardev-add'' and ``chardev-change'' should not be used to > +create client sockets with a ``wait'' field, which is reserved for > +server sockets only.
It applies to command line syntax too, so I would just generalize that a little to "Character devices creating sockets in client mode should not specify the 'wait' field, which is only applicable to sockets in server mode" Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|