Re: [PATCH 2/4] fuse: don't move pipe buffers into the page cache

From: Zi Yan

Date: Tue Nov 10 2026 - 11:34:49 EST


On 10 Nov 2026, at 9:52, Kiryl Shutsemau (Meta) wrote:

> A splice() into /dev/fuse with SPLICE_F_MOVE lets the reply to a read
> request steal full pages from the pipe. Each stolen page replaces, in
> the fuse file's page cache, the folio that the request allocated. The
> page can be a page cache folio of another file, a page written into the
> pipe, or a gifted user page.
>
> Always copy. The server sees the same data, and the move was a hint
> that splice() never promised to honour.
>
> Keep advertising FUSE_SPLICE_MOVE. libfuse fails the mount of a
> filesystem that asks for a capability the kernel does not offer.
>
> Preparation for removing ->try_steal() from pipe buffers.
>
> Suggested-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Kiryl Shutsemau (Meta) <kas@xxxxxxxxxx>
> ---
> fs/fuse/args.h | 1 -
> fs/fuse/dev.c | 144 +------------------------------------------
> fs/fuse/file.c | 1 -
> fs/fuse/fuse_dev_i.h | 1 -
> 4 files changed, 3 insertions(+), 144 deletions(-)
>
LGTM.

Acked-by: Zi Yan <ziy@xxxxxxxxxx>

Best Regards,
Yan, Zi