Skip to content

Cleanup async interface and map 1:1 with Filesystem trait#663

Open
mhambre wants to merge 2 commits intocberner:masterfrom
mhambre:feat/async-expansion
Open

Cleanup async interface and map 1:1 with Filesystem trait#663
mhambre wants to merge 2 commits intocberner:masterfrom
mhambre:feat/async-expansion

Conversation

@mhambre
Copy link

@mhambre mhambre commented Mar 14, 2026

This PR takes the experimental async interface and cleans it up such that expansion can start to easily add new methods by mapping 1:1 with the Filesystem trait. This adds a call_fut! macro that sends the task to the tokio runtime, and automatically clones the request and a reference to the runtime to reduce boilerplate.

This is made with the goal in mind of next steps being expansion to include more mutation oriented operations, and orienting the async capabilities in a way that even further down the line this can be backed with AsyncFD, setting up an Async-oriented EventLoop, etc for full end-to-end async.

If this is accepted I can also take the initiative of starting to add the other missing FUSE methods to the async trait and building up a simple_async.rs example FS + tests.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2343ac1881

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant