Skip to main content

Crate arcbox_virtio_fs

Crate arcbox_virtio_fs 

Source
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 constants
  • request: FuseRequest / FuseResponse envelopes
  • session: FuseSession — INIT handshake + negotiated state
  • handler: FuseRequestHandler trait
  • device: FsConfig, VirtioFs, VirtioDevice impl

Structs§

FsConfig
Filesystem device configuration.
FuseRequest
FUSE request from guest.
FuseResponse
FUSE response to guest.
FuseSession
FUSE session state.
VirtioFs
VirtIO filesystem 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§

FuseRequestHandler
Trait for handling FUSE requests.