Skip to content

Conversation

@tahmid-23
Copy link
Contributor

io_uring + symlinkat()

@tahmid-23 tahmid-23 force-pushed the tahmid-23/uring-symlink branch from ef347a8 to 5b5d8f4 Compare January 9, 2026 02:42
@tahmid-23 tahmid-23 changed the title fs: implement std::fs::symlink via io_uring fs: implement tokio::fs::symlink via io_uring Jan 9, 2026
@ADD-SP ADD-SP added A-tokio Area: The main tokio crate M-fs Module: tokio/fs T-io-uring Topic: Linux io_uring labels Jan 9, 2026

// If io_uring is enabled (and not falling back to the thread pool),
// the first poll should return Pending.
let _pending = pin!(fut).poll_unpin(cx);
Copy link
Member

Choose a reason for hiding this comment

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

Let's assert that:

Suggested change
let _pending = pin!(fut).poll_unpin(cx);
assert_pending!(pin!(fut).poll_unpin(cx));

let (done_tx, done_rx) = mpsc::channel();
let (workdir, target) = create_tmp_dir();

rt.spawn(async move {
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
rt.spawn(async move {
rt.block_on(async move {

otherwise current_rt() won't do anything.

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

Labels

A-tokio Area: The main tokio crate M-fs Module: tokio/fs T-io-uring Topic: Linux io_uring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants