You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Map t0011 allsquash and t0013 ACL tip residuals as two independent claims with pinned kernel, diod, and harness versions so an implementer can start either residual without reconstructing this diagnosis from chat.
Exact commands or generated artifacts: docs/plans/1-map-tip-xfails.md; scripts/check-scaffold.sh
Complete this sentence:
The proof would fail if t0011 and t0013 were one harness bug, because the same run shows squash working (export uid 65534) while ACL walks return EOPNOTSUPP 95 with no Txattrcreate. A squashuser-only change cannot make t0013 PASS.
t0011 (later slice)
--allsquash squashes to nobody. The test stats exp/ and expects $(id -u):$(id -g). Discriminator: --squashuser=$(id -un) vs assert 65534. "v9fs dropped squash" is rejected by Rgetattr uid 65534 and green t0012.
t0013 (later slice)
Mount -o posixacl succeeds. Every Txattrwalk of system.posix_acl_* returns EOPNOTSUPP. Discriminator: in-guest setfacl on local /tmp (not 9p). EOPNOTSUPP ⇒ TMPFS_XATTR / export fs; PASS ⇒ 9p/diod xattr path.
Review Focus
Highest-risk semantics: treating two residuals as one fix
What could pass broad tests while still being wrong: changing squashuser and calling ACL "fixed"
Rollback: leave diod/xfail.txt until PASS
Boundaries
In scope: pins, split, proof plan, named next slices
Explicitly not claimed: kernel/diod/harness code; XFAIL as integration proof; floating ghcr.io/v9fs/docker:latest
Deferred: implementation issues opened only after this mapping lands
Human Goal
Map t0011 allsquash and t0013 ACL tip residuals as two independent claims with pinned kernel, diod, and harness versions so an implementer can start either residual without reconstructing this diagnosis from chat.
Product tracker: v9fs/test#28
Mapping PR (draft): #2
Plan:
docs/plans/1-map-tip-xfails.mdEvidence Anchor
v9fs/linux+v9fs/test+chaos/diod+ Actions artifactsv7.2=8d3ae59288f1e7d58d76558a6ee96d533bc5019f(Imagekernel-latest/kernel-v7.2)94b2182f54b30a073d893990db8f64e69f0d911a(PR #26); XFAIL list unchanged on maincce75243unexpected: 0de51d1ee1bd5ccf1d8c16b96227c8bb03ec50106(chaos/diodmaster since 2026-06-23)TMPFS_POSIX_ACLon;TMPFS_XATTRnot setTarget Change
v9fs/test; keep XFAIL until a slice PASSesProof Promotion
docs/plans/1-map-tip-xfails.md;scripts/check-scaffold.shComplete this sentence:
t0011 (later slice)
--allsquashsquashes to nobody. The test statsexp/and expects$(id -u):$(id -g). Discriminator:--squashuser=$(id -un)vs assert 65534. "v9fs dropped squash" is rejected byRgetattr uid 65534and green t0012.t0013 (later slice)
Mount
-o posixaclsucceeds. EveryTxattrwalkofsystem.posix_acl_*returns EOPNOTSUPP. Discriminator: in-guestsetfaclon local/tmp(not 9p). EOPNOTSUPP ⇒TMPFS_XATTR/ export fs; PASS ⇒ 9p/diod xattr path.Review Focus
diod/xfail.txtuntil PASSBoundaries
ghcr.io/v9fs/docker:latestBacklog Position
Ownership and Authority
v9fs/linux; no.githubon linuxdocs/ledgers/,docs/plans/)Durable State
Done