docs(audits): confirm IOCP is wired for Windows file writes (#1868)#4017
Merged
Conversation
Static, source-grounded resolution of the discrepancy between
internal notes and a review observation about the Windows
disk-commit path. The audit demonstrates that on a default Windows
build the dispatcher constructs Writer::Iocp { batch:
&mut IocpDiskBatch } for every non-sparse, non-append output file,
with cited file:line evidence for the dispatcher arm, the feature
gate, and the runtime guard conditions that legitimately fall back
to the buffered writer.
oferchen
added a commit
that referenced
this pull request
May 18, 2026
…4017) Static, source-grounded resolution of the discrepancy between internal notes and a review observation about the Windows disk-commit path. The audit demonstrates that on a default Windows build the dispatcher constructs Writer::Iocp { batch: &mut IocpDiskBatch } for every non-sparse, non-append output file, with cited file:line evidence for the dispatcher arm, the feature gate, and the runtime guard conditions that legitimately fall back to the buffered writer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
iocpfeature, the disk-commit dispatcher routes file body writes throughIocpDiskBatch(overlappedWriteFile+GetQueuedCompletionStatusEx), not throughstd::fs::File.docs/audits/windows-iocp-file-write-status.mdwith a verdict, six file:line citations acrossdisk_commit/writer.rs,disk_commit/process.rs,disk_commit/thread.rs,iocp/disk_batch.rs,Cargo.toml, anddisk_commit/config.rs, plus a Linux/macOS/Windows mapping table for theWriterenum.IocpPolicy::Disabled, runtime probe failure, sparse mode, append mode) and notes that no size-based gate fires insidemake_writer- every eligible file goes through the shared batch.std::fs::Filebenchmark) and Make legacy wrappers optional and tighten packaging checks #1900 (IOCP CI matrix); hardening tasks Fix packaging metadata for side-by-side installs #1897, Fix packaging asset paths and legacy binaries #1898, Cache x86 checksum SIMD feature detection #1929, Optimize vectored rolling checksum aggregation #1930 remain in flight separately.Test plan
crates/transfer/src/disk_commit/process.rs:286-294,crates/transfer/src/disk_commit/writer.rs:147-151,177-185,226-244,crates/transfer/src/disk_commit/thread.rs:179-203,crates/fast_io/src/iocp/disk_batch.rs:162-186,196-221,310-322, and the default-feature wiring inCargo.toml:33,77,crates/transfer/Cargo.toml:90,crates/fast_io/Cargo.toml:39,55.IocpDiskBatch::try_newon non-Windows resolves to the stub atcrates/fast_io/src/iocp_stub.rs:148(None), so the audit's "no IOCP outside Windows" claim is structurally enforced.