Re: [PATCH v5 1/3] fuse: add compound command to combine multiple requests
From: Miklos Szeredi
Date: Thu Feb 12 2026 - 04:08:37 EST
On Wed, 11 Feb 2026 at 21:36, Bernd Schubert <bernd@xxxxxxxxxxx> wrote:
> With simple request and a single request per buffer, one can re-use the
> existing buffer for the reply in fuse-server
>
> - write: Do the write operation, then store the result into the io-buffer
> - read: Copy the relatively small header, store the result into the
> io-buffer
>
> - Meta-operations: Same as read
Reminds me of the header/payload separation in io-uring.
We could actually do that on the /dev/fuse interface as well, just
never got around to implementing it: first page reserved for
header(s), payload is stored at PAGE_SIZE offset in the supplied
buffer.
That doesn't solve the overwriting problem, since in theory we could
have a compound with a READ and a WRITE but in practice we can just
disallow such combinations.
In fact I'd argue that most/all practical compounds will not even have
a payload and can fit into a page sized buffer.
So as a first iteration can we just limit compounds to small in/out sizes?
Thanks,
Miklos