From b1a0ab714863ae77e4683820757b3f49c03a0049 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 4 Jan 2012 02:33:11 +0100 Subject: [PATCH] journald: don't rotate on startup --- src/journal/journald.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/journal/journald.c b/src/journal/journald.c index b42be8d7..47fe6edb 100644 --- a/src/journal/journald.c +++ b/src/journal/journald.c @@ -306,14 +306,11 @@ static JournalFile* find_journal(Server *s, uid_t uid) { return f; } -static void server_vacuum(Server *s) { - Iterator i; +static void server_rotate(Server *s) { + JournalFile *f; void *k; - char *p; - char ids[33]; - sd_id128_t machine; + Iterator i; int r; - JournalFile *f; log_info("Rotating..."); @@ -336,6 +333,13 @@ static void server_vacuum(Server *s) { else hashmap_replace(s->user_journals, k, f); } +} + +static void server_vacuum(Server *s) { + char *p; + char ids[33]; + sd_id128_t machine; + int r; log_info("Vacuuming..."); @@ -565,6 +569,7 @@ retry: if (r == -E2BIG && !vacuumed) { log_info("Allocation limit reached."); + server_rotate(s); server_vacuum(s); vacuumed = true; @@ -1308,6 +1313,7 @@ static int server_flush_to_var(Server *s) { log_info("Allocation limit reached."); journal_file_post_change(s->system_journal); + server_rotate(s); server_vacuum(s); r = journal_file_copy_entry(f, s->system_journal, o, f->current_offset, NULL, NULL, NULL); -- 2.39.5