* [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket
@ 2019-04-15 16:06 ` Marc-André Lureau
0 siblings, 0 replies; 6+ messages in thread
From: Marc-André Lureau @ 2019-04-15 16:06 UTC (permalink / raw)
To: qemu-devel
Cc: Marc-André Lureau, Daniel P . Berrangé, Paolo Bonzini
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é <berrange@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@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;
}
}
--
2.21.0.313.ge35b8cb8e2
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket @ 2019-04-15 16:06 ` Marc-André Lureau 0 siblings, 0 replies; 6+ messages in thread From: Marc-André Lureau @ 2019-04-15 16:06 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau, Paolo Bonzini 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é <berrange@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lureau@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; } } -- 2.21.0.313.ge35b8cb8e2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket @ 2019-04-15 16:08 ` Daniel P. Berrangé 0 siblings, 0 replies; 6+ messages in thread From: Daniel P. Berrangé @ 2019-04-15 16:08 UTC (permalink / raw) To: Marc-André Lureau; +Cc: qemu-devel, Paolo Bonzini 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é <berrange@redhat.com> > Signed-off-by: Marc-André Lureau <marcandre.lureau@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 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 :| ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket @ 2019-04-15 16:08 ` Daniel P. Berrangé 0 siblings, 0 replies; 6+ messages in thread From: Daniel P. Berrangé @ 2019-04-15 16:08 UTC (permalink / raw) To: Marc-André Lureau; +Cc: Paolo Bonzini, qemu-devel 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é <berrange@redhat.com> > Signed-off-by: Marc-André Lureau <marcandre.lureau@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 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 :| ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket 2019-04-15 16:08 ` Daniel P. Berrangé (?) @ 2019-04-15 16:16 ` Marc-André Lureau 2019-04-15 16:19 ` Daniel P. Berrangé -1 siblings, 1 reply; 6+ messages in thread From: Marc-André Lureau @ 2019-04-15 16:16 UTC (permalink / raw) To: Daniel P. Berrangé; +Cc: Paolo Bonzini, QEMU On Mon, Apr 15, 2019 at 6:08 PM Daniel P. Berrangé <berrange@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é <berrange@redhat.com> > > Signed-off-by: Marc-André Lureau <marcandre.lureau@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. + @section Human Monitor Protocol (HMP) commands @subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (since 3.1) -- Marc-André Lureau ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket 2019-04-15 16:16 ` Marc-André Lureau @ 2019-04-15 16:19 ` Daniel P. Berrangé 0 siblings, 0 replies; 6+ messages in thread From: Daniel P. Berrangé @ 2019-04-15 16:19 UTC (permalink / raw) To: Marc-André Lureau; +Cc: Paolo Bonzini, QEMU 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é <berrange@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é <berrange@redhat.com> > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@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 :| ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-04-15 16:19 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-15 16:06 [Qemu-devel] [PATCH v2] socket: allow wait=false for client socket Marc-André Lureau 2019-04-15 16:06 ` Marc-André Lureau 2019-04-15 16:08 ` Daniel P. Berrangé 2019-04-15 16:08 ` Daniel P. Berrangé 2019-04-15 16:16 ` Marc-André Lureau 2019-04-15 16:19 ` Daniel P. Berrangé
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.