Module fuse_backend_rs::api::server
source · Expand description
Fuse API Server to interconnect transport layers with filesystem drivers.
The Fuse API server is a adapter layer between transport layers and file system drivers. The main functionalities of the Fuse API server is:
- Support different types of transport layers, fusedev, virtio-fs or vhost-user-fs.
- Hide different transport layers details from file system drivers.
- Parse transport messages according to the Fuse ABI to avoid duplicated message decoding in every file system driver.
- Invoke file system driver handler to serve each request and send the reply.
The Fuse API server is performance critical, so it’s designed to support multi-threading by adopting interior-mutability. And the arcswap crate is used to implement interior-mutability.
Structs§
- Fuse Server to handle requests from the Fuse client and vhost user master.
Constants§
- Maximum buffer size of FUSE requests.
- Maximum number of pages required for FUSE requests.
Traits§
- Provide concrete backend filesystem a way to catch information/metrics from fuse.