1
0
mirror of https://github.com/systemd/systemd synced 2024-07-09 04:26:06 +00:00

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.
This commit is contained in:
Daan De Meyer 2023-05-02 09:16:16 +02:00 committed by Lennart Poettering
parent ab13274a19
commit a3b076f641
3 changed files with 9 additions and 9 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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;
}