]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: do not set wait:false for client sockets
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 15 Apr 2019 16:51:48 +0000 (18:51 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 16 Apr 2019 10:52:03 +0000 (12:52 +0200)
Qemu commit 767abe7 ("chardev: forbid 'wait' option with client
sockets") effectively deprecates usage of "wait" with client sockets
starting with qemu 4.0, and earlier versions ignored the value.

Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_monitor_json.c
tests/qemumonitorjsontest.c

index 71c452b25bb872e14c38cfad0e7313587075135a..e7d063a5a85072cc0d5a83feb85b301b125ed0e3 100644 (file)
@@ -6922,8 +6922,11 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
 
         telnet = chr->data.tcp.protocol == VIR_DOMAIN_CHR_TCP_PROTOCOL_TELNET;
 
-        if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
-            virJSONValueObjectAppendBoolean(data, "telnet", telnet) < 0 ||
+        if (chr->data.tcp.listen &&
+            virJSONValueObjectAppendBoolean(data, "wait", false) < 0)
+            goto cleanup;
+
+        if (virJSONValueObjectAppendBoolean(data, "telnet", telnet) < 0 ||
             virJSONValueObjectAppendBoolean(data, "server", chr->data.tcp.listen) < 0)
             goto cleanup;
         if (chr->data.tcp.tlscreds) {
@@ -6973,8 +6976,11 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
             goto cleanup;
         addr = NULL;
 
-        if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
-            virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
+        if (chr->data.nix.listen &&
+            virJSONValueObjectAppendBoolean(data, "wait", false) < 0)
+            goto cleanup;
+
+        if (virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
             goto cleanup;
 
         if (qemuMonitorJSONBuildChrChardevReconnect(data, &chr->data.nix.reconnect) < 0)
index 055e20161151d805ff36c2a804b494a1d02274a3..f5ad3f6a73df0595cc66add1ecdc2cf6fcee5741 100644 (file)
@@ -874,7 +874,6 @@ qemuMonitorJSONTestAttachChardev(virDomainXMLOptionPtr xmlopt)
                       "'data':{'addr':{'type':'inet',"
                                       "'data':{'host':'example.com',"
                                               "'port':'1234'}},"
-                              "'wait':false,"
                               "'telnet':false,"
                               "'server':false}}}");
 
@@ -920,7 +919,6 @@ qemuMonitorJSONTestAttachChardev(virDomainXMLOptionPtr xmlopt)
            "'backend':{'type':'socket',"
                       "'data':{'addr':{'type':'unix',"
                                       "'data':{'path':'/path/to/socket'}},"
-                              "'wait':false,"
                               "'server':false}}}");
 
     chr = (virDomainChrSourceDef) { .type = VIR_DOMAIN_CHR_TYPE_SPICEVMC };