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§
- FuseBuf
- A buffer reference wrapper for fuse requests.
- Fuse
Channel - A fuse channel abstraction.
- Fuse
DevWriter - Writer to send FUSE reply to the FUSE driver.
- Fuse
Session - A fuse session manager to manage the connection with the in kernel fuse driver.
- Reader
- Reader to access FUSE requests from the transport layer data buffers.
Enums§
- Error
- Transport layer specific error codes.
- Writer
- Writer to send reply message to ’/dev/fuse` or virtiofs queue.
Traits§
- FsCache
ReqHandler - Fake trait to simplify implementation when vhost-user-fs is not used.
Functions§
- pagesize
- Safe wrapper for
sysconf(_SC_PAGESIZE)
.
Type Aliases§
- Result
- Specialized version of std::result::Result for transport layer operations.