log_ratelimit_info_errno(r, JOURNAL_LOG_RATELIMIT, "%s: Realtime clock jumped backwards relative to last journal entry, rotating.", f->path);
return true;
- case -EREMOTE: /* Boot ID different from the one of the last entry */
- log_ratelimit_info_errno(r, JOURNAL_LOG_RATELIMIT, "%s: Boot ID changed since last record, rotating.", f->path);
- return true;
-
- case -ENOTNAM: /* Monotonic time (CLOCK_MONOTONIC) jumped backwards relative to last journal entry */
- log_ratelimit_info_errno(r, JOURNAL_LOG_RATELIMIT, "%s: Monotonic clock jumped backwards relative to last journal entry, rotating.", f->path);
+ case -ENOTNAM: /* Monotonic time (CLOCK_MONOTONIC) jumped backwards relative to last journal entry with the same boot ID */
+ log_ratelimit_info_errno(
+ r,
+ JOURNAL_LOG_RATELIMIT,
+ "%s: Monotonic clock jumped backwards relative to last journal entry with the same boot ID, rotating.",
+ f->path);
return true;
case -EILSEQ: /* seqnum ID last used in the file doesn't match the one we'd passed when writing an entry to it */
"timestamp %" PRIu64 ", refusing entry.",
ts->realtime, le64toh(f->header->tail_entry_realtime));
- if (!sd_id128_is_null(f->header->tail_entry_boot_id) && boot_id) {
-
- if (!sd_id128_equal(f->header->tail_entry_boot_id, *boot_id))
- return log_debug_errno(SYNTHETIC_ERRNO(EREMOTE),
- "Boot ID to write is different from previous boot id, refusing entry.");
-
- if (ts->monotonic < le64toh(f->header->tail_entry_monotonic))
- return log_debug_errno(SYNTHETIC_ERRNO(ENOTNAM),
- "Monotonic timestamp %" PRIu64 " smaller than previous monotonic "
- "timestamp %" PRIu64 ", refusing entry.",
- ts->monotonic, le64toh(f->header->tail_entry_monotonic));
- }
+ if ((!boot_id || sd_id128_equal(*boot_id, f->header->tail_entry_boot_id)) &&
+ ts->monotonic < le64toh(f->header->tail_entry_monotonic))
+ return log_debug_errno(
+ SYNTHETIC_ERRNO(ENOTNAM),
+ "Monotonic timestamp %" PRIu64
+ " smaller than previous monotonic timestamp %" PRIu64
+ " while having the same boot ID, refusing entry.",
+ ts->monotonic,
+ le64toh(f->header->tail_entry_monotonic));
}
if (seqnum_id) {