Re: [PATCH 1/2] pipe: change pipe_write() to never add a zero-sized buffer
From: Oleg Nesterov
Date: Sun Feb 09 2025 - 14:16:05 EST
On 02/09, Linus Torvalds wrote:
>
> On Sun, 9 Feb 2025 at 10:45, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
> >
> > Again, lets look eat_empty_buffer().
> >
> > The comment says "maybe it's empty" but how/why can this happen ?
>
> WHY DO YOU CARE?
Because it looks unclear/confusing, and I think it can confuse other
readers of this code. Especially after 1/2.
> So here's the deal: either you
...
> (b) you DON'T convince yourself that that is true, and you leave
> eat_empty_buffer() alone.
Yes, I failed to convince myself that fs/splice.c can never add an
empty bufer. Although it seems to me it should not.
> In contrast, the "eat_empty_buffer()" case just saying "if it's an
> empty buffer, it doesn't satisfy my needs, so I'll just release the
> empty buffer and go on".
... without wakeup_pipe_writers().
OK, nevermind, I see your point even if I do not 100% agree.
I'll send v2 without WARN_ON() and without 2/2.
Oleg.