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.
The background session data structure
Request data structure
The session data structure
Generic reply trait
Mount the given filesystem to the given mountpoint. This function will not return until the filesystem is unmounted.
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.