mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +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:
parent
ab13274a19
commit
a3b076f641
|
@ -73,7 +73,7 @@ int process_source(RemoteSource *source, JournalFileFlags file_flags) {
|
||||||
&source->importer.ts,
|
&source->importer.ts,
|
||||||
&source->importer.boot_id,
|
&source->importer.boot_id,
|
||||||
file_flags);
|
file_flags);
|
||||||
if (r == -EBADMSG) {
|
if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) {
|
||||||
log_warning_errno(r, "Entry is invalid, ignoring.");
|
log_warning_errno(r, "Entry is invalid, ignoring.");
|
||||||
r = 0;
|
r = 0;
|
||||||
} else if (r < 0)
|
} else if (r < 0)
|
||||||
|
|
|
@ -2865,7 +2865,7 @@ static int generic_array_bisect(
|
||||||
r = -EBADMSG;
|
r = -EBADMSG;
|
||||||
else
|
else
|
||||||
r = test_object(f, p, needle);
|
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)");
|
log_debug_errno(r, "Encountered invalid entry while bisecting, cutting algorithm short. (1)");
|
||||||
n = i;
|
n = i;
|
||||||
continue;
|
continue;
|
||||||
|
@ -2948,7 +2948,7 @@ static int generic_array_bisect(
|
||||||
r = -EBADMSG;
|
r = -EBADMSG;
|
||||||
else
|
else
|
||||||
r = test_object(f, p, needle);
|
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)");
|
log_debug_errno(r, "Encountered invalid entry while bisecting, cutting algorithm short. (2)");
|
||||||
right = n = i;
|
right = n = i;
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -509,7 +509,7 @@ static int output_short(
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
if (r == -EBADMSG) {
|
if (IN_SET(r, -EBADMSG, -EADDRNOTAVAIL)) {
|
||||||
log_debug_errno(r, "Skipping message we can't read: %m");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -868,7 +868,7 @@ static int output_export(
|
||||||
|
|
||||||
fputc('\n', f);
|
fputc('\n', f);
|
||||||
}
|
}
|
||||||
if (r == -EBADMSG) {
|
if (IN_SET(r, -EADDRNOTAVAIL, -EBADMSG)) {
|
||||||
log_debug_errno(r, "Skipping message we can't read: %m");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1116,7 +1116,7 @@ static int output_json(
|
||||||
size_t size;
|
size_t size;
|
||||||
|
|
||||||
r = sd_journal_enumerate_data(j, &data, &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");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
r = 0;
|
r = 0;
|
||||||
goto finish;
|
goto finish;
|
||||||
|
@ -1204,7 +1204,7 @@ static int output_cat_field(
|
||||||
get_log_colors(prio, &color_on, &color_off, &highlight_on);
|
get_log_colors(prio, &color_on, &color_off, &highlight_on);
|
||||||
|
|
||||||
r = sd_journal_get_data(j, field, &data, &l);
|
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");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1276,7 +1276,7 @@ static int output_cat(
|
||||||
/* Determine priority of this entry, so that we can color it nicely */
|
/* Determine priority of this entry, so that we can color it nicely */
|
||||||
|
|
||||||
r = sd_journal_get_data(j, "PRIORITY", &data, &l);
|
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");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1420,7 +1420,7 @@ int show_journal_entry(
|
||||||
n_columns = columns();
|
n_columns = columns();
|
||||||
|
|
||||||
r = get_display_timestamp(j, &display_ts, &boot_id);
|
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");
|
log_debug_errno(r, "Skipping message we can't read: %m");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue