summaryrefslogtreecommitdiff
path: root/src/journal
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2023-05-02 12:23:07 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-05-03 00:13:40 +0900
commit5789c60973ec2aafbe30685a5c38d40b12e23107 (patch)
tree0c2026412c340c81015a2a8d41fc4daaac765dd4 /src/journal
parentc19b8278020df9ff6da569c55bb05aac591e65f1 (diff)
downloadsystemd-5789c60973ec2aafbe30685a5c38d40b12e23107.tar.gz
journal: handle EADDRNOTAVAIL in two more cases gracefully
Follow-up for #27488.
Diffstat (limited to 'src/journal')
-rw-r--r--src/journal/journald-server.c1
-rw-r--r--src/journal/managed-journal-file.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index 47f1d8b504..1763a2556e 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -866,6 +866,7 @@ static bool shall_try_append_again(JournalFile *f, int r) {
case -EBADMSG: /* Corrupted */
case -ENODATA: /* Truncated */
case -ESHUTDOWN: /* Already archived */
+ case -EADDRNOTAVAIL: /* Referenced object offset out of bounds */
log_ratelimit_info_errno(r, JOURNAL_LOG_RATELIMIT, "%s: Journal file corrupted, rotating.", f->path);
return true;
diff --git a/src/journal/managed-journal-file.c b/src/journal/managed-journal-file.c
index 37d41f0678..9b1fe30747 100644
--- a/src/journal/managed-journal-file.c
+++ b/src/journal/managed-journal-file.c
@@ -537,6 +537,7 @@ int managed_journal_file_open_reliably(
ret);
if (!IN_SET(r,
-EBADMSG, /* Corrupted */
+ -EADDRNOTAVAIL, /* Referenced object offset out of bounds */
-ENODATA, /* Truncated */
-EHOSTDOWN, /* Other machine */
-EPROTONOSUPPORT, /* Incompatible feature */