Open wswsmao opened 6 days ago
The lattest commit is the implementation for FUSE Passthrough support in stargz-snapshotter https://github.com/wswsmao/stargz-snapshotter/tree/passthrough
SGTM. Could you open a PR?
SGTM. Could you open a PR?
OK, this is pr https://github.com/containerd/stargz-snapshotter/pull/1868
Hi,
FUSE Passthrough has been introduced in the Linux kernel version 6.9. This feature has shown significant performance improvements, as detailed in the following articles:
Phoronix Article on FUSE Passthrough Linux Kernel Commit
Additionally, the
go-fuse
package, which Stargz-Snapshotter depends on, has also added support for this passthrough feature:go-fuse Commit 1 go-fuse Commit 2 go-fuse Commit 3
When a user-defined file implements the
FilePassthroughFder
interface,go-fuse
will attempt to register the filefd
from the file with the kernel.I believe it would be beneficial for Stargz-Snapshotter to consider supporting this feature as well. Here’s a proposed implementation plan for FUSE passthrough:
Open
phase, attempt to pre-read the entire file instead of reading it in chunks.fd
of the cached file that has been written to local storage.FilePassthroughFder
interface innode.file
, allowing thefd
from step 2 to be registered with the kernel viago-fuse
.By following this approach, subsequent
Read
operations would not need to return to user space, andgo-fuse
would release the registered information when necessary.Thank you for considering this enhancement!
Best regards, abush wang