Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FUSE Passthrough? #419

Open
RushingAlien opened this issue May 19, 2024 · 3 comments
Open

FUSE Passthrough? #419

RushingAlien opened this issue May 19, 2024 · 3 comments

Comments

@RushingAlien
Copy link

RushingAlien commented May 19, 2024

Linux 6.9 introduced FUSE passthrough, which will allow better performance for fuse-based filesystems. https://source.android.com/docs/core/storage/fuse-passthrough

gambar

I don't know if there is work that needs to be done on the fuse-overlayfs side to utliize it, but seeing the android documentation, it seems to be a yes.

When the FUSE daemon receives a request to open a file, it decides whether FUSE passthrough should be available for that particular file. If it's available, the daemon:

  • Notifies the FUSE driver about this request.
  • Enables FUSE passthrough for the file using the FUSE_DEV_IOC_PASSTHROUGH_OPEN ioctl, which must be performed on the file descriptor of the opened /dev/fuse.
@giuseppe
Copy link
Member

yes, we need to use the new interface provided by libfuse.

Unfortunately, it will work only for the root user, which is not a common use case for fuse-overlayfs

@colinmarc
Copy link

Unfortunately, it will work only for the root user, which is not a common use case for fuse-overlayfs

Why is that the case? I see the check here, but I don't understand the TODO.

@giuseppe
Copy link
Member

giuseppe commented Oct 7, 2024

I think the reason is the one highlighted in the inline comment:

/* TODO: relax CAP_SYS_ADMIN once backing files are visible to lsof */

The interface could be used by an unprivileged user to hide open files, since they are not visible under /proc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants