]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemuMonitorOpenUnix: Remove 'retry' argument
authorPeter Krempa <pkrempa@redhat.com>
Thu, 3 Feb 2022 12:48:09 +0000 (13:48 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 3 Aug 2022 12:26:56 +0000 (14:26 +0200)
All callers now pass false for 'retry' we are guaranteed to have a
monitor socket present. This means that the retry code can be removed.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_process.c
tests/qemumonitortestutils.c

index 91e9f769443edee7ff4795ac94972122b3f8ee79..ad5e121359b2e3c50b2934b59b3c76765eeb4595 100644 (file)
@@ -223,16 +223,12 @@ qemuMonitorDispose(void *obj)
     g_free(mon->domainName);
 }
 
-#define QEMU_DEFAULT_MONITOR_WAIT 30
 
 static int
-qemuMonitorOpenUnix(const char *monitor,
-                    pid_t cpid,
-                    bool retry)
+qemuMonitorOpenUnix(const char *monitor)
 {
     struct sockaddr_un addr;
     VIR_AUTOCLOSE monfd = -1;
-    virTimeBackOffVar timebackoff;
     int ret = -1;
 
     if ((monfd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
@@ -249,39 +245,11 @@ qemuMonitorOpenUnix(const char *monitor,
         return -1;
     }
 
-    if (retry) {
-        if (virTimeBackOffStart(&timebackoff, 1, QEMU_DEFAULT_MONITOR_WAIT * 1000) < 0)
-            return -1;
-        while (virTimeBackOffWait(&timebackoff)) {
-            ret = connect(monfd, (struct sockaddr *)&addr, sizeof(addr));
-
-            if (ret == 0)
-                break;
-
-            if ((errno == ENOENT || errno == ECONNREFUSED) &&
-                (!cpid || virProcessKill(cpid, 0) == 0)) {
-                /* ENOENT       : Socket may not have shown up yet
-                 * ECONNREFUSED : Leftover socket hasn't been removed yet */
-                continue;
-            }
-
-            virReportSystemError(errno, "%s",
-                                 _("failed to connect to monitor socket"));
-            return -1;
-        }
-
-        if (ret != 0) {
-            virReportSystemError(errno, "%s",
-                                 _("monitor socket did not show up"));
-            return -1;
-        }
-    } else {
-        ret = connect(monfd, (struct sockaddr *) &addr, sizeof(addr));
-        if (ret < 0) {
-            virReportSystemError(errno, "%s",
-                                 _("failed to connect to monitor socket"));
-            return -1;
-        }
+    ret = connect(monfd, (struct sockaddr *) &addr, sizeof(addr));
+    if (ret < 0) {
+        virReportSystemError(errno, "%s",
+                             _("failed to connect to monitor socket"));
+        return -1;
     }
 
     ret = monfd;
@@ -707,7 +675,6 @@ qemuMonitorOpenInternal(virDomainObj *vm,
 qemuMonitor *
 qemuMonitorOpen(virDomainObj *vm,
                 virDomainChrSourceDef *config,
-                bool retry,
                 GMainContext *context,
                 qemuMonitorCallbacks *cb)
 {
@@ -722,7 +689,7 @@ qemuMonitorOpen(virDomainObj *vm,
     }
 
     virObjectUnlock(vm);
-    fd = qemuMonitorOpenUnix(config->data.nix.path, vm->pid, retry);
+    fd = qemuMonitorOpenUnix(config->data.nix.path);
     virObjectLock(vm);
 
     if (fd < 0)
index 2ef9118b84543429e510398b78ecc7a3c17f872b..742bfd4cdcf7fe5b502c8f6fbd6ffb1036bbeef6 100644 (file)
@@ -408,7 +408,6 @@ struct _qemuMonitorCallbacks {
 
 qemuMonitor *qemuMonitorOpen(virDomainObj *vm,
                                virDomainChrSourceDef *config,
-                               bool retry,
                                GMainContext *context,
                                qemuMonitorCallbacks *cb)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(4);
index c51d704af802ea86b633494c574fd0f2b39ed664..d29da63242342c77e79c04753518338a6f121c95 100644 (file)
@@ -1899,7 +1899,6 @@ qemuConnectMonitor(virQEMUDriver *driver,
 
     mon = qemuMonitorOpen(vm,
                           priv->monConfig,
-                          false,
                           virEventThreadGetContext(priv->eventThread),
                           &monitorCallbacks);
 
@@ -9493,7 +9492,7 @@ qemuProcessQMPConnectMonitor(qemuProcessQMP *proc)
 
     proc->vm->pid = proc->pid;
 
-    if (!(proc->mon = qemuMonitorOpen(proc->vm, &monConfig, false,
+    if (!(proc->mon = qemuMonitorOpen(proc->vm, &monConfig,
                                       virEventThreadGetContext(proc->eventThread),
                                       &callbacks)))
         return -1;
index 1ea8d7271114eb0ede577432b99a4d5caa0e5f40..db0f450e404e0074a72f6a221ce6056e939b7697 100644 (file)
@@ -1109,7 +1109,6 @@ qemuMonitorTestNew(virDomainXMLOption *xmlopt,
     test->qapischema = schema;
     if (!(test->mon = qemuMonitorOpen(test->vm,
                                       &src,
-                                      false,
                                       virEventThreadGetContext(test->eventThread),
                                       &qemuMonitorTestCallbacks)))
         goto error;