]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
journal-file: drop checking if files are from the future at time of open
authorLennart Poettering <lennart@poettering.net>
Thu, 26 Jan 2023 16:24:15 +0000 (17:24 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 21 Feb 2023 09:47:53 +0000 (10:47 +0100)
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.

src/journal/journald-server.c
src/journal/managed-journal-file.c
src/libsystemd/sd-journal/journal-file.c

index dd31007a4dea52bccb64af8353c7fdeb14dcb8c5..de08c4e9651e63a47527dae0662078d61d54ef16 100644 (file)
@@ -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;
index 81aecfe7cb9be33bfa48e652e6457ff6033562d1..538d999de0a611c232173d34c48151ed8a5d74ae 100644 (file)
@@ -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)
index 05c66815ae15ee92d1908ec55f37c0878fd94104..b1064a698204212faa846fb1fc32bd7b97bb2828 100644 (file)
@@ -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;