Thank you for testing, Sven. I'll get
this change committed and then publish a new version of the SysV
suite soon.
Jesse
On 2024-07-28 14:02, Sven Reschke wrote:
Sorry for being hasty.
I tested the patch recommended by Petter, with adjustments to the
current bootlogd version.
Looks like it's working, at least I don't have a greedy bootlogd
process anymore, and the boot logfile also looks good, with the
root cause logged:
...
stty: 'standard input': Input/output error
...
FYI, here's the patchfile I used:
--- sysvinit-3.04.orig/src/bootlogd.c
+++ sysvinit-3.04/src/bootlogd.c
@@ -550,6 +550,7 @@
#ifndef __linux__ /* BSD-style ioctl needs an argument. */
int on = 1;
#endif
+ int prev_eio = 0;
int considx;
struct real_cons cons[MAX_CONSOLES];
int num_consoles, consoles_left;
@@ -728,8 +729,15 @@
if (i >= 0) {
m -= i;
p += i;
+ prev_eio = 0;
continue;
}
+ /* Don't try to write the same data
+ * again if we got EIO twice */
+ if (errno == EIO && prev_eio) {
+ m = 0;
+ }
+ prev_eio = (errno == EIO);
/*
* Handle EIO (somebody hung
* up our filedescriptor)
Best regards,
Sven
|