On Fri, Feb 21, 2025 at 7:13 PM Moinak Bhattacharyya <moinakb001@xxxxxxxxx> wrote: > > I don't have the modifications to libfuse. What tree are you using for > the uring modifications? I dont see any uring patches on the latest > master liburing. > >> It is possible, for example set FOPEN_PASSTHROUGH_FD to > >> interpret backing_id as backing_fd, but note that in the current > >> implementation of passthrough_hp, not every open does > >> fuse_passthrough_open(). > >> The non-first open of an inode uses a backing_id stashed in inode, > >> from the first open so we'd need different server logic depending on > >> the commands channel, which is not nice. > I wonder if we can just require URING registered FDs (using > IORING_REGISTER_FILES). I think io_uring does checks on the file > permissions when the FD is registered. That's an interesting idea. There are definitely similarities between IORING_REGISTER_FILES and registering backing ids. There is however one difference, which is going to be even more emphasised when backing files are setup during LOOKUP - The backing fd setup during BACKING_OPEN does not need to be open for write - it could even be an O_PATH fd. So fc->backing_files_map are not really fds registered for IO, they are essential references to backing inodes. Thanks, Amir.