From: Lennart Poettering Date: Thu, 26 Jan 2023 16:24:15 +0000 (+0100) Subject: journal-file: drop checking if files are from the future at time of open X-Git-Tag: v254-rc1~1218^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ced1196802035ea07290f49009886047a513fe32;p=thirdparty%2Fsystemd.git journal-file: drop checking if files are from the future at time of open We nowadays check for ordering anyway at time of writing entries, hence we don't have to do that at moment of opening, too. Benefit of dropping this check: we can safely archive files from the future instead of marking them as broken. --- diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index dd31007a4de..de08c4e9651 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -873,10 +873,6 @@ static bool shall_try_append_again(JournalFile *f, int r) { log_ratelimit_warning(JOURNAL_LOG_RATELIMIT, "%s: Journal file has been deleted, rotating.", f->path); return true; - case -ETXTBSY: /* Journal file is from the future */ - log_ratelimit_warning(JOURNAL_LOG_RATELIMIT, "%s: Journal file is from the future, rotating.", f->path); - return true; - case -EREMCHG: /* Wallclock time (CLOCK_REALTIME) jumped backwards relative to last journal entry */ log_ratelimit_warning(JOURNAL_LOG_RATELIMIT, "%s: Realtime clock jumped backwards relative to last journal entry, rotating.", f->path); return true; diff --git a/src/journal/managed-journal-file.c b/src/journal/managed-journal-file.c index 81aecfe7cb9..538d999de0a 100644 --- a/src/journal/managed-journal-file.c +++ b/src/journal/managed-journal-file.c @@ -542,8 +542,7 @@ int managed_journal_file_open_reliably( -EBUSY, /* Unclean shutdown */ -ESHUTDOWN, /* Already archived */ -EIO, /* IO error, including SIGBUS on mmap */ - -EIDRM, /* File has been deleted */ - -ETXTBSY)) /* File is from the future */ + -EIDRM)) /* File has been deleted */ return r; if ((open_flags & O_ACCMODE) == O_RDONLY) diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 05c66815ae1..b1064a69820 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -537,14 +537,6 @@ static int journal_file_verify_header(JournalFile *f) { if (f->header->field_hash_table_size == 0 || f->header->data_hash_table_size == 0) return -EBADMSG; - - /* Don't permit appending to files from the future. Because otherwise the realtime timestamps wouldn't - * be strictly ordered in the entries in the file anymore, and we can't have that since it breaks - * bisection. */ - if (le64toh(f->header->tail_entry_realtime) > now(CLOCK_REALTIME)) - return log_debug_errno(SYNTHETIC_ERRNO(ETXTBSY), - "Journal file %s is from the future, refusing to append new data to it that'd be older.", - f->path); } return 0;