Re: Re: [PATCH v7 1/4] fuse: add compound command to combine multiple requests

From: Horst Birthelmer

Date: Fri Jun 05 2026 - 04:18:55 EST



Thanks a lot, Amir, for looking at this!

On Fri, Jun 05, 2026 at 09:41:00AM +0200, Amir Goldstein wrote:
> On Thu, Jun 4, 2026 at 11:51 AM Horst Birthelmer <horst@xxxxxxxxxxxxxx> wrote:
> > +/*
> > + * FUSE: Filesystem in Userspace
> > + * Copyright (C) 2025-2026
>
> Copyright to /dev/null?
>
LOL, that's a copy paste error of the header ...

> > diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
> > index 5dda7080f4a9..7b20e4e9971a 100644
> > --- a/fs/fuse/dev.c
> > +++ b/fs/fuse/dev.c
> > @@ -413,11 +413,47 @@ const struct fuse_iqueue_ops fuse_dev_fiq_ops = {
> > };
...
>
> Move more of those compound helpers to compound.c instead of bloating dev.c
>

I completely get your point and I will change that. I just thought that it would be
easier to 'review' if it is clearly visible where the change is done to the normal flow,
since this was one of the main things for this version

> > + */
> > +struct fuse_compound_req_in {
> > + uint8_t dep_index;
> > + uint8_t reserved[3];
> > +};
> > +
>
>
> It's ok that currently only nodeid (outarg[0]) is propagated,
> but I think that the UAPI should describe that this is the case.
> Something like this?
>
> uint8_t dep_index;
> uint8_t dep_arg_idx;
> uint8_t dep_arg_type;
> };
>

Good idea, I will add this and let 0 be the nodeid type(?), so that the code
does not change ;-)

> We probably don't need to waste uint8_t on dep_arg_idx IDK
>
> TBH, I did not look at NFS/SMB compound protocols, not io_uring
> command chains, so I would appreciate it if you include a survey of the
> state of the art in other protocols practices for compound commands.

OK, I will do that. I don't remember how NFS does it.

>
> Thanks,
> Amir.

Thanks,
Horst