On Mon, Nov 07, 2022 at 11:45:06PM -0800, Christoph Hellwig wrote: > On Thu, Nov 03, 2022 at 04:50:03PM +0800, Ming Lei wrote: > > The 1st ->splice_read produces buffer to the pipe of > > current->splice_pipe, and the 2nd ->splice_read consumes the buffer > > in this pipe. > > This looks really ugly. I think you want Linus and Al to look over > it at very least. OK, I will Cc Linus and Al in V2. It is just another case of pipe's producer/consumer model, IMO. > > Also, what is going to happen if your ->splice_read instance does not > support the flag to magically do something entirely different? If the ->splice_read() instance doesn't support this feature, then the new added pipe flag won't be set, this API will return -EINVAL. thanks, Ming