diff options
author | Daan De Meyer <daan.j.demeyer@gmail.com> | 2023-05-02 09:16:16 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2023-05-02 12:17:41 +0200 |
commit | a3b076f641fab2989745ee057e3576f970e0eff6 (patch) | |
tree | 61bbf2c643b48d9a71a306e91ac91eabdd66da8a | |
parent | ab13274a19ee310ed8569612a862b977d054ed6c (diff) | |
download | systemd-a3b076f641fab2989745ee057e3576f970e0eff6.tar.gz |
tree-wide: Handle EADDRNOTAVAIL as journal corruption
Journal corruption is not only indicated by EBADMSG but also by
EADDRNOTAVAIL so treat that as corruption in a few more cases.
-rw-r--r-- | src/journal-remote/journal-remote-parse.c | 2 | ||||
-rw-r--r-- | src/libsystemd/sd-journal/journal-file.c | 4 | ||||
-rw-r--r-- | src/shared/logs-show.c | 12 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/journal-remote/journal-remote-parse.c b/src/journal-remote/journal-remote-parse.c index 27ab5e5ac6..26e2009e14 100644 --- a/src/journal-remote/journal-remote-parse.c +++ b/src/journal-remote/journal-remote-parse.c @@ -73,7 +73,7 @@ int process_source(RemoteSource *source, JournalFileFlags file_flags) { &source->importer.ts, &source->importer.boot_id, file_flags); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_warning_errno(r, "Entry is invalid, ignoring."); r = 0; } else if (r < 0) diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index fe2610be96..501e7276b6 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -2865,7 +2865,7 @@ static int generic_array_bisect( r = -EBADMSG; else r = test_object(f, p, needle); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Encountered invalid entry while bisecting, cutting algorithm short. (1)"); n = i; continue; @@ -2948,7 +2948,7 @@ static int generic_array_bisect( r = -EBADMSG; else r = test_object(f, p, needle); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Encountered invalid entry while bisecting, cutting algorithm short. (2)"); right = n = i; continue; diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index d372e096c4..539d3963de 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -509,7 +509,7 @@ static int output_short( if (r < 0) return r; } - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Skipping message we can't read: %m"); return 0; } @@ -868,7 +868,7 @@ static int output_export( fputc('\n', f); } - if (r == -EBADMSG) { + if (IN_SET(r, -EADDRNOTAVAIL, -EBADMSG)) { log_debug_errno(r, "Skipping message we can't read: %m"); return 0; } @@ -1116,7 +1116,7 @@ static int output_json( size_t size; r = sd_journal_enumerate_data(j, &data, &size); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Skipping message we can't read: %m"); r = 0; goto finish; @@ -1204,7 +1204,7 @@ static int output_cat_field( get_log_colors(prio, &color_on, &color_off, &highlight_on); r = sd_journal_get_data(j, field, &data, &l); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Skipping message we can't read: %m"); return 0; } @@ -1276,7 +1276,7 @@ static int output_cat( /* Determine priority of this entry, so that we can color it nicely */ r = sd_journal_get_data(j, "PRIORITY", &data, &l); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Skipping message we can't read: %m"); return 0; } @@ -1420,7 +1420,7 @@ int show_journal_entry( n_columns = columns(); r = get_display_timestamp(j, &display_ts, &boot_id); - if (r == -EBADMSG) { + if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) { log_debug_errno(r, "Skipping message we can't read: %m"); return 0; } |