On Wed, 21 Aug 2024 at 17:55, Bernd Schubert <bernd.schubert@xxxxxxxxxxx> wrote: > But how would fuse_file_open() know how to send a sequence of requests? It would just send a FUSE_COMPOUND request, which contains a FUSE_GETATTR and a FUSE_OPEN request. > I don't see an issue to decode that on the server side into multiple > requests, but how do we process the result in fuse-client? For fg > requests we have exactly request that gets processed by the vfs > operaration sending a request - how would that look like with compounds? AFAIU compunds in NFS4 bundle multiple request into one which the server processes sequentially and the results are also returned in a bundle. That's just the protocol, the server and the client can use this in any way that conforms to the protocol. > > Or do I totally misunderstand you and you want to use compounds to avoid > the uber struct for atomic-open? At least we still need to add in the > ATOMIC_OPEN_IS_OPEN_GETATTR flag there and actually another like > ATOMIC_OPEN_IS_DIRECTORY. Yes, the main advantage would be to avoid having to add new request types for things that are actually just the aggregation of multiple existing request types. Thanks, Miklos