120 lines
5.1 KiB
Markdown
120 lines
5.1 KiB
Markdown
# repo22 Final Review Independent Manual Regression
|
|
|
|
Execution window: 2026-08-09 18:04-18:29 UTC
|
|
|
|
Source baseline: `fcc85b93d5f8fd9671686bd68bf3b086c8bd25cf`
|
|
|
|
Scope: TC157-TC161, final dual-configuration build and mount smoke, TC111
|
|
coverage-matrix follow-up, and resource hygiene. No CI runner or automated
|
|
kernel-test harness was used.
|
|
|
|
## Result
|
|
|
|
All five assigned test cases passed.
|
|
|
|
| Test ID | Status | Manual evidence |
|
|
| --- | --- | --- |
|
|
| TC157 | PASS | Six 16/32-byte descending, duplicate, and cross-branch tables returned positive `EINTEGRITY`; repeated lookup agreed; a raw offset-4096 control was observable while failed lookups produced no payload read. |
|
|
| TC158 | PASS | A 17,592,186,056,704-byte sparse provider produced direct and file-handle `st_blocks=34359738384`; two FBT returns recorded `va_bytes=17592186052608`; the file remained readable. |
|
|
| TC159 | PASS | FIFO size-only setattr returned 0; size plus mode, owner, times, and all fields returned `EROFS(30)`; metadata remained `10640:0:0:0:0`. |
|
|
| TC160 | PASS | Both `OFF_MAX` and zero-offset `getdirentries` calls returned `EINTEGRITY(97)` and preserved their offsets; independent truss SHA256 was `6df9c594bfba8aaf849fa7105fda09a5cab99d79f04c42901a438321c90700e0`. |
|
|
| TC161 | PASS | Both normal configurations built, the private `nm` shim failed before publication without a SUCCESS line or temporary file, the previous KLD hash stayed unchanged, and a final normal build used `/usr/bin/nm` and exited 0. |
|
|
|
|
The TC157 fixtures do not cover a first nonzero `lstart` or an extreme
|
|
extent-count performance boundary. These are residual coverage limits, not
|
|
observed failures. Positive mapped-payload coverage remains the separate TC146
|
|
PARTIAL issue.
|
|
|
|
## Exact Inputs
|
|
|
|
The source archive exported from the baseline had SHA256
|
|
`a0c330601f9d7b2aa246a17e67bcd67914d457480cb69df025d09bc34d8b7b31`.
|
|
The independent fixture archive had SHA256
|
|
`bf8ab5430f06dfc067f041002cc7861b0b110dc00d9c447a82877f21b67b09ed`.
|
|
Its manifest and evidence hashes were
|
|
`b880be5d214985e6a7f75cc77fea333f046a30963a9d310d57a6cdc67104e740`
|
|
and `ace71446671b3d17e6a46997f43fc605a7a6bb5993c9de0e6e12cd223746b317`.
|
|
|
|
The fixture evidence recorded:
|
|
|
|
- complete TC157 logical-start arrays and old binary-search visit indices;
|
|
- TC158 `blocks_lo=2`, `blocks_hi=1`, and 4,294,967,298 data blocks;
|
|
- TC159 compact FIFO mode `010640`;
|
|
- TC160 `i_size=9223372036854775807` and expected errno 97.
|
|
|
|
## TC161 Build Qualification
|
|
|
|
The shim log SHA256 was
|
|
`a1a83797ba2c0111b66bb8783f3a67087420ef7a9bccc93fd42fb94c9c24c593`.
|
|
It contained `ERROR: nm failed while checking erofs.ko`, no SUCCESS line, and
|
|
left no `nm-undef.*` file. The post-shim status file recorded `exit=0` and
|
|
`nm=/usr/bin/nm`; its build log SHA256 was
|
|
`5ce2519a85de7a4846f95fdb858fd7818182aad3fa55a7ea8d06cf7687143f11`.
|
|
|
|
The post-shim build used an explicit normal path and environment:
|
|
|
|
```sh
|
|
env PATH=/usr/bin:/bin:/usr/sbin:/sbin \
|
|
FREEBSD_SRC=/tmp/repo22-freebsd15-src \
|
|
WITH_ZSTDIO=0 ./build.sh
|
|
```
|
|
|
|
Its key log lines were `==> Building repo22 erofs.ko` and
|
|
`==> SUCCESS: .../build/erofs.ko`.
|
|
|
|
Final exact-source builds used FreeBSD 15 kernel `-Werror`:
|
|
|
|
| Configuration | KLD SHA256 | Result |
|
|
| --- | --- | --- |
|
|
| `WITH_ZSTDIO=0` | `15fda9d334132cd81769ce4dff4f8411a6e2b4cf7531c352530d0de85f42a2d2` | PASS |
|
|
| `WITH_ZSTDIO=1` | `23782dc0ce7da188807d35020bf2d8c6044b796c5c9a8746b398ba784cd6ad4e` | PASS |
|
|
|
|
The final ZSTD build log SHA256 was
|
|
`e58bc73d1b0b8295d8baba0cf0ce07bf4e9c994837e65c7ccdd731dc91edb283`.
|
|
|
|
## Final Module Smoke and Cleanup
|
|
|
|
Each final KLD loaded independently, mounted `special-setattr.erofs` through a
|
|
fresh vnode md provider, exposed the expected FIFO, unmounted, detached the md
|
|
unit, and unloaded. The smoke log SHA256 was
|
|
`7ced7329da9f39527cf903213dee4c99dbe6d8d6fa96e55bca3427c4f4a56420`.
|
|
|
|
Final guest state was:
|
|
|
|
```text
|
|
residual-mount-count=0
|
|
residual-md=
|
|
residual-kld-count=0
|
|
smoke-exit=0
|
|
```
|
|
|
|
The host repo22 ignored `build/`, old ignored generated fixture/artifact trees,
|
|
and `__pycache__` content were removed before aggregation. No generated KLD,
|
|
object, image, or Python bytecode is acceptance evidence in Git.
|
|
|
|
## TC111 Coverage-Matrix Follow-up
|
|
|
|
A bounded filename audit found 162 specifications, TC000 through TC161, with
|
|
162 unique IDs, no duplicate, and no missing ID. TC000 is a template and is not
|
|
counted as executable.
|
|
|
|
The eight canonical G1-G8 report tables contained exactly 156 rows and 156
|
|
unique IDs covering TC001-TC156, with no duplicate or omission. TC157-TC161
|
|
add five unique executable cases. TC060's original G3 failure is superseded by
|
|
its dated fixed-source PASS report; TC153's G3 result is PASS.
|
|
|
|
The canonical final result is therefore:
|
|
|
|
```text
|
|
Executable test cases: 161
|
|
PASS: 160
|
|
PARTIAL: 1 (TC146)
|
|
FAIL/KERNEL-FAIL/ENV/SHELVED_TC: 0
|
|
```
|
|
|
|
TC146's shelved positive mapped-payload subitem is not counted as an additional
|
|
test case. G1-G8 evidence was collected across multiple source commits; this
|
|
report does not claim that every historical test ran on the final KLD. The
|
|
final `fcc85b93d` code baseline received the independent TC157-TC161 checks and
|
|
the affected final build/load/mount regressions recorded here.
|