Module fuse_backend_rs::transport
source · Expand description
FUSE/Virtiofs transport drivers to receive requests from/send reply to Fuse/Virtiofs clients.
Originally a FUSE server communicates with the FUSE driver through the device /dev/fuse
,
and the communication protocol is called as FUSE protocol. Later the FUSE protocol is extended
to support Virtio-fs device. So there are two transport layers supported:
- fusedev: communicate with the FUSE driver through
/dev/fuse
- virtiofs: communicate with the virtiofsd on host side by using virtio descriptors.
Structs§
- A buffer reference wrapper for fuse requests.
- A fuse channel abstraction.
- Writer to send FUSE reply to the FUSE driver.
- A fuse session manager to manage the connection with the in kernel fuse driver.
- Reader to access FUSE requests from the transport layer data buffers.
Enums§
- Transport layer specific error codes.
- Writer to send reply message to ’/dev/fuse` or virtiofs queue.
Traits§
- Fake trait to simplify implementation when vhost-user-fs is not used.
Functions§
- Safe wrapper for
sysconf(_SC_PAGESIZE)
.
Type Aliases§
- Specialized version of std::result::Result for transport layer operations.