On Thu, Sep 24, 2020 at 3:13 PM Alessio Balsini <balsini@xxxxxxxxxxx> wrote: > > Introduce the new FUSE passthrough ioctl(), which allows userspace to > specify a direct connection between a FUSE file and a lower file system > file. > Such ioctl() requires userspace to specify: > - the file descriptor of one of its opened files, > - the unique identifier of the FUSE request associated with a pending > open/create operation, > both encapsulated into a fuse_passthrough_out data structure. > The ioctl() will search for the pending FUSE request matching the unique > identifier, and update the passthrough file pointer of the request with the > file pointer referenced by the passed file descriptor. > When that pending FUSE request is handled, the passthrough file pointer > is copied to the fuse_file data structure, so that the link between FUSE > and lower file system is consolidated. How about returning an ID from the ioctl (like the fuse2 porototype) and returning that in fuse_open_out.passthrough_fh? Seems a more straightforward interface to me. Thanks, Miklos