On (09/18/19 21:31), zhe...@windriver.com wrote:
> 
> When users read the buffer from start, there is no need to return -EPIPE
> since the possible overflows will not affect the output.
>
[..]
> -     if (user->seq < log_first_seq) {
> +     if (user->seq == 0) {
> +             user->seq = log_first_seq;
> +     } else if (user->seq < log_first_seq) {
>               /* our last seen message is gone, return error and reset */
>               user->idx = log_first_idx;
>               user->seq = log_first_seq;

A tough call.

User-space wants to read messages which are gone: log_first_seq > user->seq.

I think returning EPIPE is sort of appropriate; user-space, possibly,
can printf(stderr, "Some /dev/kmsg messages are gone\n"); or something
like that.

        -ss

Reply via email to