On Fri, 21 Feb 2025 at 19:31, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > BTW, I am now trying to work out the API for setting up a backing file > for an inode at LOOKUP time for passthrough of inode operations. > For this mode of operation, I was considering to support OPEN > response with FOPEN_PASSTHROUGH and zero backing_id to mean > "the backing file that is associated with the inode". > I've actually reserved backing_id 0 for this purpose. > In this mode of operations the problem at hand will become moot. > > One way to deal with the API of FOPEN_PASSTHROUGH in > io_uring is to only use this mode of operation. > IOW, LOOKUP response could have a backing fd and not > a backing id and then the backing ids are not even exposed to > server because the server does not care - for all practical purposes > the nodeid is the backing id. Yeah, the backing-id thing should not be needed for io-uring. One complaint about the current passthrough API is that it adds extra syscalls, which is expensive nowadays. > I personally don't mind if inode operations passthrough > that are setup via LOOKUP response, will require io_uring. > Both features are about metadata operations performance, > so it kind of makes sense to bundle them together, does it not? Right, this would be the least complex solution. We could also add an ioctl(FUSE_DEV_IOC_LOOKUP_REPLY), which would work with the non-uring API. Thanks, Miklos