fuse-backend-rs
fuse-backend-rs copied to clipboard
Status of async support
Hello, I am working on a virtual filesystem using fuse-backend-rs for tvix, a Rust implementation of Nix. Most of the underlying filesystem is built on top of async Rust + tokio, so it would be great to be able to use the AsyncFileSystem
trait. I've tried doing this but I've hit some issues figuring out how to drive the filesystem with both FUSE and virtiofs.
For FUSE it looks like there is some code to support driving async FUSE tasks: https://github.com/cloud-hypervisor/fuse-backend-rs/blob/839f5db88abb73b8b3f45be902015d85097adaae/src/transport/fusedev/linux_session.rs#L691-L868
However, this code is behind the async_io
feature flag, even though the real feature flag is async-io
. The code here also seems to refer to things that have been deleted like use crate::async_util::{AsyncDriver, AsyncExecutor}
.
I was wondering if async is something that is supported or if its currently in a broken state and needs some more help to become functional again?
That one is not a type. It has been disabled intentionally, since there are some compilation issues (from what I remember). Once I have some more time in the coming weeks, I'll open a PR to fix them.