Uh oh!
There was an error while loading. Please reload this page.
minimal dirfd implementation (1/4) - #146341
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
tgross35
commented
Sep 10, 2025
@ChrisDenton I'll need your help for the Windows review |
be0d761 to
3083d58CompareUh oh!
There was an error while loading. Please reload this page.
Qelxiros
commented
Sep 10, 2025
@rustbot ready |
There was a problem hiding this comment.
Looks pretty good to me, just a few mechanical things here. There are a couple left over from the previous review, #146341 (comment), #146341 (comment), and (newly) #146341 (comment).
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| let mut handle = ptr::null_mut(); | ||
| let mut io_status = c::IO_STATUS_BLOCK::PENDING; | ||
| let access = opts.get_access_mode()? | c::SYNCHRONIZE; | ||
| let options = create_options | c::FILE_SYNCHRONOUS_IO_NONALERT; |
There was a problem hiding this comment.
Could you add a note about why this flag is set?
There was a problem hiding this comment.
I no longer remember why I chose this one, and looking at it now, I'm not sure whether we should set this one, FILE_SYNCHRONOUS_IO_ALERT, or neither. Maybe @ChrisDenton has thoughts?
There was a problem hiding this comment.
Update, using neither causes an error, so I've added back FILE_SYNCHRONOUS_IO_NONALERT
There was a problem hiding this comment.
Yeah, passing this flag is equivalent to not passing FILE_FLAG_OVERLAPPED to CreateFile. So if you don't pass this flag, other APIs using the handle need to follow the usual overlapped rules, otherwise they may behave improperly.
tgross35
commented
Sep 10, 2025
From the top post:
I think it would be fine to include the
That is quite alright, there is no hurry :) For reference, the |
This comment was marked as outdated.
This comment was marked as outdated.
minimal dirfd implementation (1/4) try-job: aarch64-apple try-job: dist-various* try-job: test-various* try-job: x86_64-msvc* try-job: x86_64-mingw
This comment has been minimized.
This comment has been minimized.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
minimal dirfd implementation (1/4) try-job: aarch64-apple try-job: dist-various* try-job: test-various* try-job: x86_64-msvc* try-job: x86_64-mingw*
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
tgross35
commented
Jan 4, 2026
@bors r+ rollup=iffy |
bors
commented
Jan 4, 2026
bors
commented
Jan 4, 2026
bors
commented
Jan 4, 2026
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing f280e76 (parent) -> f8b1d59 (this PR) Test differencesShow 303 test diffsStage 1
Stage 2
Additionally, 299 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard f8b1d59a81c700cb7aa25cf69e3032b3ce333150 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
rust-timer
commented
Jan 4, 2026
Finished benchmarking commit (f8b1d59): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 474.288s -> 475.255s (0.20%) |
PR rust-lang#146341 introduced a compilation error. This fixes it.
Motor OS: fix compile error PR rust-lang#146341 introduced a compilation error. This fixes it.
| } | ||
| #[test] | ||
| // FIXME: libc calls fail on miri |
There was a problem hiding this comment.
Miri doesn't even execute fs tests by default... wht was this Miri-gated?
There was a problem hiding this comment.
Generally I'd appreciate a ping when cfg(miri) logic is added anywhere. :)
…acrum dirfd file operations (2/4) Previous PR: rust-lang#146341 Reference: rust-lang#139514 Tracking issue: rust-lang#120426
…acrum dirfd file operations (2/4) Previous PR: rust-lang#146341 Reference: rust-lang#139514 Tracking issue: rust-lang#120426
This is the first of four smaller PRs that will eventually be equivalent to #139514.
A few notes:
newtoopenbecauseopen_dirtakes&selfand opens a subdirectory.opentoopen_file.impl AsRawFdand friends because thecommonimplementation usesPathBufs. How should I proceed here?The other PRs will be based on this one, so I'll make drafts and mark them ready as their predecessors get merged. They might take a bit though; I've never done this particular thing with git before.
Tracking issue: #120426
r? @tgross35
try-job: aarch64-apple
try-job: dist-various*
try-job: test-various*
try-job: x86_64-msvc-1
try-job: x86_64-mingw*