Skip to content

feat(transfer): wire IORING_OP_RENAMEAT2 into remaining temp-file commit paths (#1924)#4002

Merged
oferchen merged 1 commit into
masterfrom
feat/io-uring-renameat2-commit-1924
May 13, 2026
Merged

feat(transfer): wire IORING_OP_RENAMEAT2 into remaining temp-file commit paths (#1924)#4002
oferchen merged 1 commit into
masterfrom
feat/io-uring-renameat2-commit-1924

Conversation

@oferchen
Copy link
Copy Markdown
Owner

Summary

Test plan

  • cargo fmt --all -- --check passes
  • cargo clippy --workspace --all-targets --all-features --no-deps -- -D warnings passes
  • CI: nextest on Linux (stable) - exercises io_uring path on supported kernels
  • CI: macOS (stable) - exercises fallback path (no io_uring)
  • CI: Windows (stable) - exercises fallback path (no io_uring)
  • CI: Linux musl (stable) - exercises io_uring or fallback depending on kernel
  • Existing rename_with_io_uring_fallback and try_rename_via_io_uring unit tests in disk_commit/process.rs and fast_io/src/lib.rs continue to pass
  • Interop tests validate end-to-end temp-file commit correctness on all platforms

…it paths

The disk_commit pipelined path and engine guard already use
try_rename_via_io_uring for temp-file commits. Two synchronous transfer
paths still used plain fs::rename - the non-pipelined response processor
and the receiver transfer loop. Wire the same io_uring RENAMEAT2 dispatch
into both so all temp-file renames benefit from io_uring on Linux 5.11+.
@github-actions github-actions Bot added the enhancement New feature or request label May 13, 2026
@oferchen oferchen merged commit 0959a03 into master May 13, 2026
39 checks passed
@oferchen oferchen deleted the feat/io-uring-renameat2-commit-1924 branch May 14, 2026 14:57
oferchen added a commit that referenced this pull request May 18, 2026
…it paths (#4002)

The disk_commit pipelined path and engine guard already use
try_rename_via_io_uring for temp-file commits. Two synchronous transfer
paths still used plain fs::rename - the non-pipelined response processor
and the receiver transfer loop. Wire the same io_uring RENAMEAT2 dispatch
into both so all temp-file renames benefit from io_uring on Linux 5.11+.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant