Expand description
FUSE userspace library implementation
This is an improved rewrite of the FUSE userspace library (lowlevel interface) to fully take advantage of Rust’s architecture. The only thing we rely on in the real libfuse are mount and unmount calls which are needed to establish a fd to talk to the kernel driver.
Modules§
Structs§
- Access
Flags - Flags for
accessoperation. - Background
Session - The background session data structure
- Backing
Id - A reference to a previously opened fd intended to be used for passthrough
- BsdFile
Flags chflags(2), only used on macOS.- Config
- Fuser session configuration, including mount options.
- Copy
File Range Flags - Flags of
copy_file_range. - Errno
- Represents an error code to be returned to the caller
- File
Attr - File attributes
- File
Handle - A newtype for file handles
- Fopen
Flags - Flags returned in open response.
- Generation
- A newtype for generation numbers
- INodeNo
- A newtype for inode numbers
- Init
Flags - Init request/reply flags.
- Ioctl
Flags - Ioctl flags.
- Kernel
Config - Configuration of the fuse kernel module connection
- Lock
Owner - A newtype for lock owners
- Notifier
- A handle by which the application can send notifications to the server
- Open
Flags - Open flags as passed to open operation.
- Poll
Events - Poll events for use with fuse poll operations.
- Poll
Flags - Poll flags.
- Poll
Handle - A handle to a pending
poll()request. - Poll
Notifier - A handle to a pending
poll()request coupled with notifier reference. Can be saved and used to notify the kernel when a poll is ready. - Rename
Flags renameat2flags.- Reply
Attr - Attribute Reply
- Reply
Bmap - Bmap Reply
- Reply
Create - Create reply
- Reply
Data - Data reply
- Reply
Directory - Directory reply
- Reply
Directory Plus DirectoryPlusreply- Reply
Empty - Empty reply
- Reply
Entry - Entry reply
- Reply
Ioctl - Ioctl Reply
- Reply
Lock - Lock Reply
- Reply
Lseek - Lseek Reply
- Reply
Open - Open Reply
- Reply
Poll - Poll Reply
- Reply
Statfs - Statfs Reply
- Reply
Write - Write Reply
- Reply
Xattr - Xattr reply
- Request
- FUSE request parameters.
- Request
Id - Unique ID for a request from the kernel
- Session
- The session data structure
- Session
Unmounter - A thread-safe object that can be used to unmount a Filesystem
- Version
- A newtype for ABI version
- Write
Flags - Write flags.
Enums§
- File
Type - File types
- Mount
Option - Mount options accepted by the FUSE filesystem type See ‘man mount.fuse’ for details
- Open
AccMode - How the file should be opened: read-only, write-only, or read-write.
- SessionACL
- How requests should be filtered based on the calling UID.
- Time
OrNow - Possible input arguments for atime & mtime, which can either be set to a specified time, or to the current time
Traits§
- Filesystem
- Filesystem trait.
Functions§
- mount2
- Mount the given filesystem to the given mountpoint. This function will not return until the filesystem is unmounted.
- spawn_
mount2 - Mount the given filesystem to the given mountpoint. This function spawns a background thread to handle filesystem operations while being mounted and therefore returns immediately. The returned handle should be stored to reference the mounted filesystem. If it’s dropped, the filesystem will be unmounted.