Expand description
VirtIO filesystem device (virtio-fs).
This implements the high-performance shared filesystem using virtiofs protocol for host-guest file sharing.
§Architecture
Guest Driver (virtio-fs)
│
▼ (virtqueue)
┌─────────────────────────┐
│ VirtioFs │
│ ┌─────────────────┐ │
│ │ FuseSession │ │
│ │ - INIT state │ │
│ │ - features │ │
│ └─────────────────┘ │
└───────────┬─────────────┘
│ dispatch
▼
FuseRequestHandler
(implemented by arcbox-fs)§Module layout
protocol: FUSE wire-protocol constantsrequest:FuseRequest/FuseResponseenvelopessession:FuseSession— INIT handshake + negotiated statehandler:FuseRequestHandlertraitdevice:FsConfig,VirtioFs,VirtioDeviceimpl
Structs§
- FsConfig
- Filesystem device configuration.
- Fuse
Request - FUSE request from guest.
- Fuse
Response - FUSE response to guest.
- Fuse
Session - FUSE session state.
- Virtio
Fs VirtIOfilesystem device.
Constants§
- DEFAULT_
MAX_ PAGES - Default max pages per request.
- DEFAULT_
MAX_ READAHEAD - Default max readahead size (128 KB).
- DEFAULT_
MAX_ WRITE - Default max write size (128 KB).
- FUSE_
ASYNC_ READ - FUSE_
BIG_ WRITES - FUSE_
CACHE_ SYMLINKS - FUSE_
KERNEL_ MINOR_ VERSION - FUSE kernel protocol minor version.
- FUSE_
KERNEL_ VERSION - FUSE kernel protocol major version.
- FUSE_
MAP_ ALIGNMENT - FUSE_
PARALLEL_ DIROPS - FUSE_
WRITEBACK_ CACHE
Traits§
- Fuse
Request Handler - Trait for handling FUSE requests.