chiark / gitweb /
journal: remove all of /run/log/journal when serializing, since the machine ID might...
[elogind.git] / src / journal / journald.c
index d8cfa66b75dfb10e7bb51e2927a25386e2eda867..3e7581815b562d849ea2698a605f501d0befa990 100644 (file)
@@ -478,6 +478,10 @@ static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned
                 server_rotate(s);
                 server_vacuum(s);
                 vacuumed = true;
                 server_rotate(s);
                 server_vacuum(s);
                 vacuumed = true;
+
+                f = find_journal(s, uid);
+                if (!f)
+                        return;
         }
 
         for (;;) {
         }
 
         for (;;) {
@@ -513,6 +517,10 @@ static void write_to_journal(Server *s, uid_t uid, struct iovec *iovec, unsigned
                 server_vacuum(s);
                 vacuumed = true;
 
                 server_vacuum(s);
                 vacuumed = true;
 
+                f = find_journal(s, uid);
+                if (!f)
+                        return;
+
                 log_info("Retrying write.");
         }
 }
                 log_info("Retrying write.");
         }
 }
@@ -860,7 +868,8 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned
                         return;
         }
 
                         return;
         }
 
-        log_debug("Failed to forward syslog message: %m");
+        if (errno != ENOENT)
+                log_debug("Failed to forward syslog message: %m");
 }
 
 static void forward_syslog_raw(Server *s, int priority, const char *buffer, struct ucred *ucred, struct timeval *tv) {
 }
 
 static void forward_syslog_raw(Server *s, int priority, const char *buffer, struct ucred *ucred, struct timeval *tv) {
@@ -2138,11 +2147,8 @@ finish:
         journal_file_close(s->runtime_journal);
         s->runtime_journal = NULL;
 
         journal_file_close(s->runtime_journal);
         s->runtime_journal = NULL;
 
-        if (r >= 0) {
-                char path[] = "/run/log/journal/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
-                sd_id128_to_string(machine, path + 17);
-                rm_rf(path, false, true, false);
-        }
+        if (r >= 0)
+                rm_rf("/run/log/journal", false, true, false);
 
         return r;
 }
 
         return r;
 }