Module 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§

FuseBuf
A buffer reference wrapper for fuse requests.
FuseChannel
A fuse channel abstraction.
FuseDevWriter
Writer to send FUSE reply to the FUSE driver.
FuseSession
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§

FsCacheReqHandler
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.