Re: [RFC PATCH 08/14] pipe: Allow buffers to be marked read-whole-or-error for notifications [ver #2]

From: David Howells
Date: Thu Nov 07 2019 - 13:24:29 EST


Andy Lutomirski <luto@xxxxxxxxxx> wrote:

> > Allow a buffer to be marked such that read() must return the entire buffer
> > in one go or return ENOBUFS. Multiple buffers can be amalgamated into a
> > single read, but a short read will occur if the next "whole" buffer won't
> > fit.
> >
> > This is useful for watch queue notifications to make sure we don't split a
> > notification across multiple reads, especially given that we need to
> > fabricate an overrun record under some circumstances - and that isn't in
> > the buffers.
>
> Hmm. I'm not totally in love with introducing a new error code like
> this for read(), especially if it could affect the kind of pipe that
> is bound to a file in a filesystem. But maybe it's not a problem.

EMSGSIZE might be better?

David