Re: [RFC PATCH 04/14] pipe: Add O_NOTIFICATION_PIPE [ver #2]

From: Andy Lutomirski
Date: Thu Nov 07 2019 - 13:16:28 EST


On Thu, Nov 7, 2019 at 5:39 AM David Howells <dhowells@xxxxxxxxxx> wrote:
>
> Add an O_NOTIFICATION_PIPE flag that can be passed to pipe2() to indicate
> that the pipe being created is going to be used for notifications. This
> suppresses the use of splice(), vmsplice(), tee() and sendfile() on the
> pipe as calling iov_iter_revert() on a pipe when a kernel notification
> message has been inserted into the middle of a multi-buffer splice will be
> messy.

How messy? And is there some way to make it impossible for this to
happen? Adding a new flag to pipe2() to avoid messy kernel code seems
like a poor tradeoff.