Re: Re: [PATCH v6 1/3] fuse: add compound command to combine multiple requests

From: Horst Birthelmer

Date: Mon Mar 02 2026 - 05:07:27 EST


On Fri, Feb 27, 2026 at 10:45:36AM +0100, Miklos Szeredi wrote:
> On Thu, 26 Feb 2026 at 17:43, Horst Birthelmer <horst@xxxxxxxxxxxxxx> wrote:
> > +
> > + unsigned int max_count;
> > + unsigned int count;
> > +};
> > +/*
> > + * This is a hint to the fuse server that all requests are complete and it can
> > + * use automatic decoding and sequential processing from libfuse.
> > + */
> > +#define FUSE_COMPOUND_SEPARABLE (1 << 0)
>
> We really need per sub-request flags, not per-compound flags.
>
> I.e:
>
> FUSE_SUB_IS_ENTRY - this sub request will return a new entry on
> success (nodeid, filehandle)
> FUSE_SUB_DEP_ENTRY - this sub request depends on the result of a previous lookup
>

Couldn't we just save boolean flags in the fuse_args?
Something like 'bool is_sub_entry:1' and so on?

If we have the automatic separation and call of requests in the kernel
when the fuse server returns ENOSYS, I don't see the point in adding this
to libfuse as well, since there will never be the case, that kernel
doesn't support compounds but libfuse does.
It's either the fuse server handles the whole compound, or the kernel does.

My point is, we don't need to send that information anywhere.

> Thanks,
> Miklos

Thanks for taking the time,
Horst