Re: [PATCH 03/11] cifs: Implement splice_read to pass down ITER_BVEC not ITER_PIPE

From: Christoph Hellwig
Date: Mon Feb 06 2023 - 10:48:56 EST


On Fri, Feb 03, 2023 at 08:59:21PM +0000, David Howells wrote:
> Provide cifs_splice_read() to use a bvec rather than an pipe iterator as
> the latter cannot so easily be split and advanced, which is necessary to
> pass an iterator down to the bottom levels. Upstream cifs gets around this
> problem by using iov_iter_get_pages() to prefill the pipe and then passing
> the list of pages down.

Just as last time: if cifs has a problem with splitting these iters
so does everyone else. What about solving the root cause here?

If the splice isn't actually a splice you might as well not implement
it.