]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuBuildChrChardevStr: Introduce @nowait argument
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 16 Aug 2016 11:06:46 +0000 (13:06 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 14 Oct 2016 02:15:51 +0000 (10:15 +0800)
This alone makes not much sense. But the aim is to reuse this
function in qemuBuildVhostuserCommandLine() where 'nowait' is not
supported for vhost-user devices.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_command.c

index 5213e9704fcb2fb8d40e2a20d2711a8bbb7a3b33..ff4e977a18eafb0b5d6a51057f97fd0d982e78e8 100644 (file)
@@ -4850,7 +4850,8 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
                        const virDomainDef *def,
                        const virDomainChrSourceDef *dev,
                        const char *alias,
-                       virQEMUCapsPtr qemuCaps)
+                       virQEMUCapsPtr qemuCaps,
+                       bool nowait)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     bool telnet;
@@ -4923,12 +4924,14 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
     case VIR_DOMAIN_CHR_TYPE_TCP:
         telnet = dev->data.tcp.protocol == VIR_DOMAIN_CHR_TCP_PROTOCOL_TELNET;
         virBufferAsprintf(&buf,
-                          "socket,id=char%s,host=%s,port=%s%s%s",
+                          "socket,id=char%s,host=%s,port=%s%s",
                           alias,
                           dev->data.tcp.host,
                           dev->data.tcp.service,
-                          telnet ? ",telnet" : "",
-                          dev->data.tcp.listen ? ",server,nowait" : "");
+                          telnet ? ",telnet" : "");
+
+        if (dev->data.tcp.listen)
+            virBufferAdd(&buf, nowait ? ",server,nowait" : ",server", -1);
 
         if (cfg->chardevTLS) {
             char *objalias = NULL;
@@ -4950,7 +4953,7 @@ qemuBuildChrChardevStr(virLogManagerPtr logManager,
         virBufferAsprintf(&buf, "socket,id=char%s,path=", alias);
         virQEMUBuildBufferEscapeComma(&buf, dev->data.nix.path);
         if (dev->data.nix.listen)
-            virBufferAddLit(&buf, ",server,nowait");
+            virBufferAdd(&buf, nowait ? ",server,nowait" : ",server", -1);
         break;
 
     case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
@@ -5274,7 +5277,7 @@ qemuBuildMonitorCommandLine(virLogManagerPtr logManager,
 
         if (!(chrdev = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                               monitor_chr, "monitor",
-                                              qemuCaps)))
+                                              qemuCaps, true)))
             return -1;
         virCommandAddArg(cmd, "-chardev");
         virCommandAddArg(cmd, chrdev);
@@ -5432,7 +5435,7 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logManager,
     case VIR_DOMAIN_RNG_BACKEND_EGD:
         if (!(*chr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                             rng->source.chardev,
-                                            rng->info.alias, qemuCaps)))
+                                            rng->info.alias, qemuCaps, true)))
             return -1;
     }
 
@@ -8334,7 +8337,7 @@ qemuBuildSmartcardCommandLine(virLogManagerPtr logManager,
         if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                               &smartcard->data.passthru,
                                               smartcard->info.alias,
-                                              qemuCaps))) {
+                                              qemuCaps, true))) {
             virBufferFreeAndReset(&opt);
             return -1;
         }
@@ -8423,7 +8426,7 @@ qemuBuildShmemBackendChrStr(virLogManagerPtr logManager,
 
     devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                     &shmem->server.chr,
-                                    shmem->info.alias, qemuCaps);
+                                    shmem->info.alias, qemuCaps, true);
 
     return devstr;
 }
@@ -8527,7 +8530,7 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManager,
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   &serial->source,
                                                   serial->info.alias,
-                                                  qemuCaps)))
+                                                  qemuCaps, true)))
                 return -1;
             virCommandAddArg(cmd, "-chardev");
             virCommandAddArg(cmd, devstr);
@@ -8566,7 +8569,7 @@ qemuBuildParallelsCommandLine(virLogManagerPtr logManager,
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   &parallel->source,
                                                   parallel->info.alias,
-                                                  qemuCaps)))
+                                                  qemuCaps, true)))
                 return -1;
             virCommandAddArg(cmd, "-chardev");
             virCommandAddArg(cmd, devstr);
@@ -8612,7 +8615,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   &channel->source,
                                                   channel->info.alias,
-                                                  qemuCaps)))
+                                                  qemuCaps, true)))
                 return -1;
             virCommandAddArg(cmd, "-chardev");
             virCommandAddArg(cmd, devstr);
@@ -8635,7 +8638,7 @@ qemuBuildChannelsCommandLine(virLogManagerPtr logManager,
                 if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                       &channel->source,
                                                       channel->info.alias,
-                                                      qemuCaps)))
+                                                      qemuCaps, true)))
                     return -1;
                 virCommandAddArg(cmd, "-chardev");
                 virCommandAddArg(cmd, devstr);
@@ -8678,7 +8681,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   &console->source,
                                                   console->info.alias,
-                                                  qemuCaps)))
+                                                  qemuCaps, true)))
                 return -1;
             virCommandAddArg(cmd, "-chardev");
             virCommandAddArg(cmd, devstr);
@@ -8692,7 +8695,7 @@ qemuBuildConsoleCommandLine(virLogManagerPtr logManager,
             if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                                   &console->source,
                                                   console->info.alias,
-                                                  qemuCaps)))
+                                                  qemuCaps, true)))
                 return -1;
             virCommandAddArg(cmd, "-chardev");
             virCommandAddArg(cmd, devstr);
@@ -8821,7 +8824,7 @@ qemuBuildRedirdevCommandLine(virLogManagerPtr logManager,
         if (!(devstr = qemuBuildChrChardevStr(logManager, cmd, cfg, def,
                                               &redirdev->source.chr,
                                               redirdev->info.alias,
-                                              qemuCaps))) {
+                                              qemuCaps, true))) {
             return -1;
         }