update
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
# repo22 G3 Full Manual Regression Report
|
||||
|
||||
Execution window: 2026-08-09 10:42-10:59 UTC
|
||||
|
||||
Exact source baseline: 9ae22009f23a65320730072a780998e80aa9b728
|
||||
|
||||
Guest: FreeBSD 15.0-RELEASE-p8 amd64, QEMU TCG, port 9222
|
||||
|
||||
## Scope and Method
|
||||
|
||||
This run covers exactly these 31 test cases and no others:
|
||||
|
||||
TC041-TC066, TC141, TC148, TC149, TC152, TC153
|
||||
|
||||
Every test was executed directly from its numbered Markdown procedure with a
|
||||
fresh dynamic md provider. No CI, runner, result wrapper, historical PASS, or
|
||||
unassigned TC supplied a result.
|
||||
|
||||
Set audit: requested 31, selected 31, unique 31, duplicate 0, missing 0,
|
||||
extra 0.
|
||||
|
||||
## Exact Build
|
||||
|
||||
The source archive was exported with git archive from the exact baseline. Its
|
||||
SHA256 was:
|
||||
|
||||
c7f36610a523427dc406023e1c27fc87a03076bbde2e6b1406311fa5ddb06b0f
|
||||
|
||||
The module was built natively in the guest with:
|
||||
|
||||
FREEBSD_SRC=/tmp/repo22-freebsd15-src WITH_ZSTDIO=0 ./build.sh
|
||||
|
||||
The build completed with kernel -Werror. The KLD loaded as ID 20, size 0xb8a8,
|
||||
and remained the only loaded EROFS module for the test interval.
|
||||
|
||||
| Item | SHA256 |
|
||||
|---|---|
|
||||
| erofs.ko | 19ad086bd2508cbb4c57b1a51f38c93057d438b84fbcfa2e637ff2519f5bc590 |
|
||||
| readdir_probe | 2387964fd0c153f9cba0e41dd57fbdc1d48c2f2b779540f27387fb168cd35128 |
|
||||
| g3_vfs_probe | 08fe3999600dd1826805c00a17af3d893d247a593c0812f767d85a2633302068 |
|
||||
| stat_special | 1c9b4e8fea449d2fc7b985c468a0267448db5998dd413c6c4ed36a1ab0c78ea4 |
|
||||
| nfs_fh_tool | db704f67d718d04b84ed32b5cdbecb93a99c5fe3b4ab238d603a10e005d790e3 |
|
||||
| mmap_fault | ba32712f9a4a01f4d85d8f5f6fafe2741acbd6b185a85fa759da73dbc416233c |
|
||||
| sparse_hole_probe | e5e1d8750fb671f0fccafdf51b61f4b0e73837718906dbd5fd5e8ab01cc790aa |
|
||||
|
||||
The KLD unresolved-symbol list contained both
|
||||
vnode_pager_local_getpages and vnode_pager_local_getpages_async; both resolved
|
||||
at load.
|
||||
|
||||
## Fixture Qualification
|
||||
|
||||
tests/prepare_g3_fixtures.sh completed its structured assertions and all four
|
||||
checksum-manifest checks. The relevant image hashes are:
|
||||
|
||||
| Alias | Image | SHA256 |
|
||||
|---|---|---|
|
||||
| P | vfs-plain.erofs | 79f0b5f4aa8e7ea532b711ee8fb466f14f35d0952446d41ba4bbc4d6e008b8ff |
|
||||
| Z | vfs-lz4.erofs | 07e2d1fbda0e6dc1233e6943a20f85e1f6652b580632c4c8264641a9a8805743 |
|
||||
| N | namei-base.erofs | d1730ff23836797c6c09e1b39b1cf23efc16e27f85ab07fdcab577bb82871659 |
|
||||
| Pad | namei-padding-nonzero.erofs | 9a94e9af2cab264b9c11975a20d78e615d6fe1e6f86267173cb5ac86aecb2b17 |
|
||||
| Cshort | namei-corrupt-short.erofs | fb89f74795a5569ed3a85d63836dd75a06e1f17823d0508048c37da710ea6e75 |
|
||||
| Coff | namei-corrupt-nameoff.erofs | b0b70ee615f163430f04edb91ab76c27ee8cc9a75b8ebb2008834f5b550e3933 |
|
||||
| Cname | namei-corrupt-name.erofs | 6a980ad3e241603eda2ef71a470c82975291c614366a401e4e89c17c9adf9b91 |
|
||||
| SC | special-compact.erofs | fd78256dd83d9d6d957e5f843c7a8e8a175a4b3243d528bebd299b0226853237 |
|
||||
| SE | special-extended.erofs | e73e9b84d9ceb8c2b07e9c2732733b0fd607736c68c09522a2402fbeef6ba8d5 |
|
||||
| H | extent-hole-5g.erofs | 50014a24493918247e36511ad34a2fe8ab47ae09ea46d7fd62a1bed445a6c65f |
|
||||
| L | large-dir-intmax.erofs | 0f90d3d57adbbbd946e41b225c1f6c464915c6abb0b13478ec9b2a318def1f72 |
|
||||
| LS | TC153 sparse prefix | f9337f83b1f568f6d904331a7749e6362a691055cd5af95b59bc89772f04e3b0 |
|
||||
|
||||
The wide directory has 320 real files. The structured padding mutation records
|
||||
wide NID 42, directory block 6, 80 dirents in the patched block, final-name
|
||||
offset 4043, and the eight changed bytes at offsets 4084:4092.
|
||||
|
||||
The 5 GiB fixture records size 5368713216 and one 16-byte extent with plen=0.
|
||||
TC153 records extended FLAT_PLAIN/Layout 0, NID 40, start block 16,
|
||||
2147483649 directory blocks, and final block index 2147483648.
|
||||
|
||||
## Per-Test Results
|
||||
|
||||
Every cleanup cell means the literal umount and mdconfig detach commands
|
||||
returned zero; a following mount -t erofs and mdconfig -l produced no rows.
|
||||
|
||||
| Test | Result | Actual command, errno/behavior, and hash evidence | Cleanup |
|
||||
|---|---|---|---|
|
||||
| TC041 | PASS | readdir_probe testdir 512; errno 0; 36 entries/restarts, types 8 dir/24 reg/4 link, FNV a3b969b5aa90cdbe, exact 34-name manifest and 255-byte name; image P. | umount 0; md 0 |
|
||||
| TC042 | PASS | readdir_probe wide 128 plus three stat calls; errno 0; 322 entries/restarts, 320 files, FNV f3bfa2c15b231a59, sample NIDs 72/390/710; image N. | umount 0; md 0 |
|
||||
| TC043 | PASS | four g3_vfs_probe stat calls, cmp, sha256; errno 0; regular/dir/link metadata stable and mounted file matched source; image P. | umount 0; md 0 |
|
||||
| TC044 | PASS | direct stat probes; missing/missing-parent errno 2, positive errno 0; image P. | umount 0; md 0 |
|
||||
| TC045 | PASS | stat four case variants plus direct miss; NIDs 101/88/86/87, unmatched spelling errno 2; image P. | umount 0; md 0 |
|
||||
| TC046 | PASS | readdir_probe testdir 4096 and exact manifest cmp; errno 0; 36 entries/restarts, FNV a3b969b5aa90cdbe; image P. | umount 0; md 0 |
|
||||
| TC047 | PASS | readdir_probe wide 128, sorted count/duplicate checks; errno 0; 322 entries/restarts and 320 unique files; image N. | umount 0; md 0 |
|
||||
| TC048 | PASS | readdir_probe wide 128; every kernel d_off reopened/lseeked, every libc cookie seeked on its producing DIR stream; 322/322 restarts, FNV f3bfa2c15b231a59; image N. | umount 0; md 0 |
|
||||
| TC049 | PASS | readdir_probe plus two dot stat calls and cmp; errno 0; dot and directory both NID 44, source-exact path; image P. | umount 0; md 0 |
|
||||
| TC050 | PASS | readdir_probe child plus parent/dotdot stat and cmp; errno 0; parent NID stable and multiple dotdot path source-exact; image P. | umount 0; md 0 |
|
||||
| TC051 | PASS | repeated stat and cmp; errno 0; byte-identical NID/mode/size/generation and data; behavior-level only; image P. | umount 0; md 0 |
|
||||
| TC052 | PASS | repeated negative stat then positive stat; errno 2/2/0; no positive poisoning; behavior-level only; image P. | umount 0; md 0 |
|
||||
| TC053 | PASS | repeated stat, getfh, compare, describe; errno 0; NID 101, gen 3444757833, identical handle SHA 5000984ddaeca26d90e8fd59568a55afcb074f51aaa00eed8d422d698a4aefc6; image P. | umount 0; md 0 |
|
||||
| TC054 | PASS | parent and two dotdot stat calls; errno 0; identical NID/generation/type, no lock diagnostic; behavior-level only; image P. | umount 0; md 0 |
|
||||
| TC055 | PASS | g3_vfs_probe stat, native stat, sha256 on plain/LZ4; errno 0; size 21211, blocks 48/8, data SHA d09ed1cee6520e36e54d5f2fd8c3bc74bd46cd8a58426744cc301b638c83e9d4; images P/Z. | two umount 0; md 0 |
|
||||
| TC056 | PASS | stat_special char/block/fifo plus stat on compact/extended images; errno 0; rdev 2748:344865, FIFO NODEV, size/blocks 0; images SC/SE. | two umount 0; md 0 |
|
||||
| TC057 | PASS | nobody direct access-read, access-exec directory/file, open-read; errno 0 for all; image P. | umount 0; md 0 |
|
||||
| TC058 | PASS | nobody direct access probes; restricted read/read/exec errno 13, regular-file write access errno 30; image P. | umount 0; md 0 |
|
||||
| TC059 | PASS | four readlink probes, cmp, broken follow; target lengths 8/16/14/119 and FNV hashes recorded, follow errno 0/2; image P. | umount 0; md 0 |
|
||||
| TC060 | KERNEL-FAIL | g3_vfs_probe pathconf; values 255/1024/64/2147483647, but NO_TRUNC and CHOWN_RESTRICTED each errno 22; probe status 1; image P; issue TC060-pathconf-standard-values.md. | umount 0; md 0 |
|
||||
| TC061 | PASS | direct chmod probe and before/after stat cmp; errno 30, metadata unchanged; image P. | umount 0; md 0 |
|
||||
| TC062 | PASS | direct chown probe and before/after stat cmp; errno 30, metadata unchanged; image P. | umount 0; md 0 |
|
||||
| TC063 | PASS | direct O_RDWR/truncate/create probes plus before/after sha256; errno 30/30/30, hash unchanged and no new entry; image P. | umount 0; md 0 |
|
||||
| TC064 | PASS | nm -u plus mmap_fault on plain/LZ4; helper errno assertions passed; size 21211, six faults, FNV a1890a1c216724be, EOF/SIGBUS/COW PASS; images P/Z. | two umount 0; md 0 |
|
||||
| TC065 | PASS | real mmap_fault on plain/LZ4; MAP_SHARED EACCES and O_RDWR EROFS asserted, same FNV a1890a1c216724be; images P/Z. | two umount 0; md 0 |
|
||||
| TC066 | PASS | exact source erofs_bmap EOPNOTSUPP audit, KLD symbols, real mmap fallback on plain/LZ4; both FNV a1890a1c216724be, no strategy diagnostic; images P/Z. | two umount 0; md 0 |
|
||||
| TC141 | PASS | fresh open-read/cmp, two ENOENT lookups, 322-cookie probe on N/Pad; two lookup and readdir attempts on Cshort/Coff/Cname all errno 97; all five hashes above. | five umount 0; md 0 |
|
||||
| TC148 | PASS | actual Pad image cmp/count/readdir_probe; errno 0; 320 files, 322 restarts, FNV f3bfa2c15b231a59; hash Pad and patch offsets recorded. | umount 0; md 0 |
|
||||
| TC149 | PASS | real mmap_fault on plain/LZ4; same size/fault/FNV/EOF/SIGBUS/COW evidence as TC064 with fresh mounts; images P/Z. | two umount 0; md 0 |
|
||||
| TC152 | PASS | stat, vmstat -m, two timed sparse_hole_probe calls at 3221225472; errno 0, pread/mmap zero, 0.02 s each, RSS 2652/2656 KiB, erofs memory 768 bytes; image H. | umount 0; md 0 |
|
||||
| TC153 | PASS | 8796093091840-byte sparse provider, diskinfo, stat, two cold and one post-readdir lookup; /huge size 8796093026304, all lookup errno 97, root 3-cookie FNV cd20cb6ae9fe01ba; prefix LS/KLD hashes. | umount 0; md 0; sparse file removed |
|
||||
|
||||
## Outcome
|
||||
|
||||
| Result | Count |
|
||||
|---|---:|
|
||||
| PASS | 30 |
|
||||
| KERNEL-FAIL | 1 |
|
||||
| SHELVED/ISSUE | 0 |
|
||||
| ENVIRONMENT-UNAVAILABLE | 0 |
|
||||
|
||||
The only new open issue is issues/TC060-pathconf-standard-values.md. The former
|
||||
TC153 validation issue is resolved by the qualified sparse-provider run.
|
||||
|
||||
## Discarded Attempts
|
||||
|
||||
- The first TC041 helper run passed telldir cookies across a closed and newly
|
||||
opened DIR stream. POSIX only guarantees a cookie on its producing stream.
|
||||
The helper was corrected and rebuilt with -Werror; this run was not counted.
|
||||
- TC041 was then attempted with a 128-byte getdirentries buffer, too small for
|
||||
the fixture's 255-byte name record. The 512-byte qualified rerun passed.
|
||||
- TC047 was first attempted with a 64-byte buffer, too small for its long
|
||||
records. The 128-byte qualified rerun still forced repeated reads and passed.
|
||||
|
||||
No discarded command was counted as a kernel result.
|
||||
|
||||
## Dmesg and Final Cleanup
|
||||
|
||||
The dmesg baseline had 123 lines. The only eight new lines were expected
|
||||
mmap_fault child exits on SIGBUS: two images for each of TC064, TC065, TC066,
|
||||
and TC149. There was no new EROFS warning, integrity diagnostic, assertion,
|
||||
trap, panic, OOM, dirty writeback, or "No strategy for buffer" line.
|
||||
|
||||
Before unload, the exact KLD hash was rechecked. KLD unload returned zero.
|
||||
The guest then reported:
|
||||
|
||||
erofs_mounts=0 md_units=0 kld_present=0 guest_artifacts=0
|
||||
|
||||
The TC153 sparse provider and all transferred/generated guest files were
|
||||
removed.
|
||||
Reference in New Issue
Block a user