]> xenbits.xensource.com Git - libvirt.git/commitdiff
virLogDaemonPostExecRestart: Refactor cleanup
authorPeter Krempa <pkrempa@redhat.com>
Fri, 3 Dec 2021 08:35:55 +0000 (09:35 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 7 Dec 2021 08:00:39 +0000 (09:00 +0100)
Move the unlinking of the state file right after reading it so that we
can get rid of the cleanup section.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/logging/log_daemon.c

index a2a5b5f547ede22ff94d997a38620fa76e855616..de6bf082e89b9461d272d79dd4aeec7fb5371f3b 100644 (file)
@@ -436,61 +436,56 @@ virLogDaemonPostExecRestart(const char *state_file,
 {
     const char *gotmagic;
     g_autofree char *wantmagic = NULL;
-    int ret = -1;
     g_autofree char *state = NULL;
     g_autoptr(virJSONValue) object = NULL;
+    int rc;
 
     VIR_DEBUG("Running post-restart exec");
 
     if (!virFileExists(state_file)) {
         VIR_DEBUG("No restart state file %s present",
                   state_file);
-        ret = 0;
-        goto cleanup;
+        return 0;
     }
 
-    if (virFileReadAll(state_file,
-                       1024 * 1024 * 10, /* 10 MB */
-                       &state) < 0)
-        goto cleanup;
+    rc = virFileReadAll(state_file, 1024 * 1024 * 10, /* 10 MB */ &state);
+    unlink(state_file);
+
+    if (rc < 0)
+        return -1;
 
     VIR_DEBUG("Loading state %s", state);
 
     if (!(object = virJSONValueFromString(state)))
-        goto cleanup;
+        return -1;
 
     gotmagic = virJSONValueObjectGetString(object, "magic");
     if (!gotmagic) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("Missing magic data in JSON document"));
-        goto cleanup;
+        return -1;
     }
 
     if (!(wantmagic = virLogDaemonGetExecRestartMagic()))
-        goto cleanup;
+        return -1;
 
     if (STRNEQ(gotmagic, wantmagic)) {
         VIR_WARN("Found restart exec file with old magic %s vs wanted %s",
                  gotmagic, wantmagic);
-        ret = 0;
-        goto cleanup;
+        return 0;
     }
 
     /* Re-claim PID file now as we will not be daemonizing */
     if (pid_file &&
         (*pid_file_fd = virPidFileAcquirePath(pid_file, false, getpid())) < 0)
-        goto cleanup;
+        return -1;
 
     if (!(logDaemon = virLogDaemonNewPostExecRestart(object,
                                                      privileged,
                                                      config)))
-        goto cleanup;
-
-    ret = 1;
+        return -1;
 
- cleanup:
-    unlink(state_file);
-    return ret;
+    return 1;
 }