Files
erofs-freebsd-out-tree/tests/results/manual/2026-08-08T1427Z/manual-test-report.md
T
2026-08-13 10:44:59 +02:00

4.7 KiB

repo22 remaining compressed mapping manual read report

  • Date: 2026-08-08 UTC
  • Source baseline: df5b92c902295dc74a08aef89fd93d698bbddf21
  • Remote baseline before testing: xdm/main at the same commit
  • FreeBSD guest: 15.0-RELEASE-p8 amd64, QEMU TCG
  • Image tool: erofs-utils 1.8.6
  • Scope: kernel mount/read verification for the five previously generated compression layouts only; no source, CI, or test-wrapper changes

Result matrix

Mode Fixture proof Mount Full SHA256 Offset/boundary read Isolated dmesg Result
Legacy full index Layout 1, two compressed extents PASS EIO, no digest EIO at offset 638972 across the 639004 extent boundary No panic, trap, integrity, corruption, or decompression-error signature; guest responsive KERNEL-FAIL
64 KiB pcluster Layout 3; compr_cfgs big_pcluster; one 1 MiB logical extent backed by 8192 bytes PASS Match Match at offset 65504, length 64 No error signature; guest responsive PASS
Inline ztailpacking ztailpacking; compressed extent at physical 1352..1787 inside metadata block PASS Match Match at offset 31744, length 2048 No error signature; guest responsive PASS
Fragments / packed inode fragments; packed NID; whole-file extent has zero direct on-disk bytes PASS Match Match at offset 65536, length 8192 No error signature; guest responsive PASS
Partial reference /b.dat Layout 1 reuses /a.dat physical extent 8192..12288 at logical 641052..1050624 PASS /b.dat returns EIO EIO at offset 641020 crossing into the reused extent; companion Layout 3 /a.dat matches No error signature; guest responsive KERNEL-FAIL

All five fixtures contain the requested layout. No mode is classified as FIXTURE-NOT-PROVEN or NOT RUN.

Integrity evidence

Target Full SHA256
Legacy full reference 370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52
64 KiB pcluster, actual and expected 370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52
Inline ztailpacking, actual and expected e2aa4a0a0cbcf422f397c7069a38ae0f073781386958e7db0dfa3ff2ca075513
Packed fragment, actual and expected a3a83e5c524b5ed446a06ce78cf407192a0c80119f15d2bc3489a50515eb49e0
Partial-ref /b.dat reference 61b17076c2dfae88da7912d00df534b894cf6d27178863c6d8e91f8617ebb91e
Partial-ref companion /a.dat, actual and expected 370eb0a8df86868c4842ca535ed64670f0277ea2ed47a703f089bbb13ee4ac52

Offset-read evidence:

Mode Actual Expected
Legacy full f387a3a74488528803454f0c05601fb632d919f1bc5281538f687a3a6231ebea from partial failed output 941b6e3cb9a7384428d93ca248eb9630782538e04caba30dbfbe31baacca8f60
64 KiB pcluster b6ebba880cfcc438044f943370b9936a130ce1cecf13d784a1eb871f0a126182 same
Inline ztailpacking 3a630b7e9618c7e27efb1483058baaa0475ca325c3ecafb42778871d700afa96 same
Packed fragment a826cc36ad8c9eaa1606713117fcf118b7bae5fee7503b5619dbf024213059db same
Partial reference empty output e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 941b6e3cb9a7384428d93ca248eb9630782538e04caba30dbfbe31baacca8f60

Failure disposition

The legacy full-index image mounts, but both the complete read and a read crossing its compressed-extent boundary fail with EIO. The fixture and its source remain under /work/build/repo22-shape-manual-20260808T1407Z; copies plus per-mode dmesg files remain in the guest under /root/repo22-short-20260808.

The partial-reference fixture is proven: /b.dat reuses the final physical compressed extent of /a.dat. However, /b.dat itself uses Layout 1 and fails before partial-reference semantics can be accepted. The same image's Layout 3 /a.dat reads correctly. This result is therefore a kernel failure with the legacy full-index path as the immediate blocker, not a fixture failure.

Each mode used a separate md attachment and mount lifecycle. Cleanup succeeded after every run, the module remained loaded, and the guest answered a responsiveness check after every failure and pass. The isolated dmesg scans contained no panic, trap, explicit integrity, corruption, I/O-error, or decompression-error message; the two read failures surfaced only as user-visible EIO.

Conclusion

The 64 KiB big-pcluster, inline ztailpacking, and packed-inode fragment read paths pass the requested kernel verification. Legacy full indexes remain broken. The proven partial-reference fixture also fails because its target file traverses the broken Layout 1 path, so partial-reference support cannot be accepted until that blocker is fixed and the same fixture is rerun.