[LEDE-DEV] [PATCH][ubox] Fixes log read starvation issue after threshold reached
Felix Fietkau
nbd at nbd.name
Thu Jul 13 02:53:23 PDT 2017
On 2017-07-11 21:04, Ron Brash wrote:
> This patch fixes a logread starvation error, which occurs after many
> logs are generated (around 16k if defaults are used). The log read
> process seems to halt silently and yet continues running. A restart
> of the log services fixes it.
>
> This is problematic because logs should be logged, instead of silently lost
>
> Signed-off-by: “Ron Brash <“ron.brash at gmail.com”>
> ---
> log/logread.c | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/log/logread.c b/log/logread.c
> index edac1d9..7eb028e 100644
> --- a/log/logread.c
> +++ b/log/logread.c
> @@ -230,8 +230,10 @@ static void logread_fd_data_cb(struct ustream *s,
> int bytes)
> break;
>
> cur_len = blob_len(a) + sizeof(*a);
> - if (len < cur_len)
> + if (len < cur_len) {
> + ustream_consume(s, len);
> break;
> + }
This part looks wrong to me, it would probably break on incomplete reads
(when more data arrives later).
- Felix
More information about the Lede-dev
mailing list