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§

Traits§

  • Provide concrete backend filesystem a way to catch information/metrics from fuse.