Skip to content

docs(debt): record the guest file names Windows does not create like FreeBSD - #9395

Merged
adriadam10 merged 3 commits into
boykopovar:mainfrom
Gruzzberry:docs/windows-guest-file-names
Oct 25, 2026
Merged

adriadam10 merged 3 commits into
boykopovar:mainfrom
Gruzzberry:docs/windows-guest-file-names

Conversation

@Gruzzberry

@Gruzzberry Gruzzberry commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds a technical debt entry for guest file names that a Windows host handles differently from FreeBSD. The libc.md file already records : in names and case-insensitive lookup; these cases are not recorded anywhere. No code changes.

The entry states the gap first and only what was measured: *, ?, <, >, | and " in a name fail with EINVAL; trail. and trail resolve to the host file trail; NUL succeeds without creating a file. con, aux.txt and COM1 are not affected. It notes that a fix needs a guest-to-host name mapping and that nothing was measured on Linux or a console.

Tested

Windows 11 (10.0.26200), MinGW-w64 GCC 15.2.0 r7, Release, on main 0c6a5bd (the branch is now rebased onto d6eafa5; documentation only). A temporary test (not included in this PR) called open_nid_postfix with O_CREAT|O_EXCL|O_WRONLY for each name, wrote one byte through the descriptor, reopened the name and listed the host directory:

name       create  reopen  host directory afterwards
a*b        -1 (22) -1 (22) empty
a?b        -1 (22) -1 (22) empty
a<b>c      -1 (22) -1 (22) empty
a|b        -1 (22) -1 (22) empty
a"b        -1 (22) -1 (22) empty
trail.     3       3       [trail:1 byte]
"trail "   3       3       [trail:1 byte]
NUL        3       3       empty
con        3       3       [con:1 byte]
aux.txt    3       3       [aux.txt:1 byte]
COM1       3       3       [COM1:1 byte]

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw; no silent stubs added
  • No notes, investigation .md files or images added to the repository
  • New third-party code is a submodule built from source: n/a
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: n/a
  • AI-assisted: yes

AI-assisted (Claude Code).

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 3965 docs/dev/debt/libc.md
PR 5021 docs/dev/debt/libc.md
PR 5303 docs/dev/debt/libc.md
PR 6713 docs/dev/debt/libc.md
PR 7081 docs/dev/debt/libc.md
PR 7386 docs/dev/debt/libc.md
PR 7447 docs/dev/debt/libc.md
PR 7544 docs/dev/debt/libc.md
PR 7648 docs/dev/debt/libc.md
PR 7715 docs/dev/debt/libc.md
PR 8150 docs/dev/debt/libc.md
PR 8417 docs/dev/debt/libc.md
PR 9269 docs/dev/debt/libc.md
PR 9340 docs/dev/debt/libc.md
PR 9371 docs/dev/debt/libc.md
PR 9408 docs/dev/debt/libc.md
PR 9447 docs/dev/debt/libc.md
PR 9499 docs/dev/debt/libc.md
PR 9526 docs/dev/debt/libc.md
PR 9527 docs/dev/debt/libc.md
PR 9552 docs/dev/debt/libc.md
PR 9648 docs/dev/debt/libc.md
PR 9669 docs/dev/debt/libc.md
PR 9784 docs/dev/debt/libc.md
PR 9863 docs/dev/debt/libc.md
PR 9873 docs/dev/debt/libc.md
PR 9929 docs/dev/debt/libc.md
PR 9973 docs/dev/debt/libc.md
PR 10007 docs/dev/debt/libc.md
PR 10234 docs/dev/debt/libc.md
PR 10245 docs/dev/debt/libc.md
PR 10316 docs/dev/debt/libc.md
PR 10317 docs/dev/debt/libc.md
PR 10321 docs/dev/debt/libc.md
PR 10325 docs/dev/debt/libc.md
PR 10328 docs/dev/debt/libc.md
PR 10345 docs/dev/debt/libc.md
PR 10354 docs/dev/debt/libc.md
PR 10405 docs/dev/debt/libc.md
PR 10460 docs/dev/debt/libc.md
PR 10786 docs/dev/debt/libc.md

@Gruzzberry
Gruzzberry force-pushed the docs/windows-guest-file-names branch from c12bf2a to af8637e Compare October 21, 2026 22:36
@github-actions github-actions Bot added the docs label Oct 22, 2026

@MarcZX10 MarcZX10 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The debt entry records only the Windows 11 probe results, keeps the console/Linux behavior explicitly unverified, and points to the existing colon entry. I manually checked the changed docs/dev/debt/libc.md hunks for every PR listed as uncomparable in the overlap report; none touches or sits adjacent to this new entry, so I found no dependency to declare. git diff --check passes and the current head merges cleanly with main.

Please rebase onto current main (4a17c71757; this branch is based on 0c6a5bd593) and refresh the conventions and overlap checks. The hosted eligibility, conventions, and labels checks pass; product jobs are skipped, as expected for this documentation-only change. No local test was run in this review environment.

@Gruzzberry
Gruzzberry force-pushed the docs/windows-guest-file-names branch from af8637e to ce51b95 Compare October 22, 2026 06:44
@Gruzzberry

Copy link
Copy Markdown
Contributor Author

Rebased onto main d6eafa5; check_conventions.py passes on the new head. The overlap scan lists no direct overlap. Of the pull requests it could not compare, #5303 and #9653 edit neighbouring entries in docs/dev/debt/libc.md without changing this one, so at most a text-only rebase; that is noted in the description.

@Gruzzberry
Gruzzberry marked this pull request as draft October 22, 2026 11:40
@Gruzzberry

Copy link
Copy Markdown
Contributor Author

Holding this as a draft, following the direction on #5239: the open queue is above 700 and no named title needs this change on current main. I will only mark it ready again with a current-main title ID, its Game bring-up discussion and the log line where it stops on this, or once the queue is below 700. Thanks for the reviews so far; the requested fixes are being made on the branch in the meantime.

Gruzzberry and others added 3 commits October 23, 2026 14:39
…FreeBSD

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…anged

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Gruzzberry
Gruzzberry force-pushed the docs/windows-guest-file-names branch from ce51b95 to d2639b0 Compare October 23, 2026 14:17
@Gruzzberry
Gruzzberry marked this pull request as ready for review October 23, 2026 14:18
@Gruzzberry

Copy link
Copy Markdown
Contributor Author

Rebased onto main 938812d and marked ready for review, as @MarcZX10 noted the #5239 hold does not need to apply here. On Windows (MinGW GCC 15.2.0): the focused tests pass, check_conventions.py passes, and the full suite (2029 tests) on main merged with #9442, #9469, #9474, #9487, #9496, #9661 and #9682 matches main itself, apart from parallel-run flakes that pass when run alone.

@adriadam10 adriadam10 self-assigned this Oct 25, 2026
@adriadam10
adriadam10 dismissed MarcZX10’s stale review October 25, 2026 12:35

Dismissing a stale review: the requested changes were addressed after it (new head) and the merge queue blocks on it. Please request changes again if anything is still open.

@adriadam10
adriadam10 merged commit ab0d7a5 into boykopovar:main Oct 25, 2026
9 checks passed
@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the entry against the measured table in the description, the neighbouring Colons in guest names and case-insensitive lookup entries (no contradiction or duplication), placement in the section and the conventions job; merged.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants