Module fuse_backend_rs::common::file_buf

source ·
Expand description

Provide data buffers to support tokio and tokio-uring based async io.

The vm-memory v0.6.0 introduced support of dirty page tracking by using Bitmap, which adds a generic type parameters to several APIs. That’s a breaking change and makes the rust compiler fail to compile our code. So introduce FileVolatileSlice to mask out the BitmapSlice generic type parameter. Dirty page tracking is handled at higher level in IoBuffers.

The tokio-uring crates uses io-uring for actual IO operations. And the io-uring APIs require passing ownership of buffers to the runtime. So FileVolatileBuf is introduced to support tokio-uring based async io.

Structs§

  • An adapter structure to support io-uring based asynchronous IO.
  • An adapter structure to work around limitations of the vm-memory crate.

Enums§

  • Error codes related to buffer management.