update
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Pre13 H03a: bounded qstr comparator carrier
|
||||
|
||||
## Scope
|
||||
|
||||
- Added a private `struct erofs_qstr` to `src/namei.c` with explicit `name`
|
||||
and `end` pointers.
|
||||
- Converted `erofs_dirnamecmp()` to consume bounded qstr objects.
|
||||
- Kept the existing search helpers on their original pointer/length interface
|
||||
through a temporary local adapter. Block search, VOP lookup, vnode locking,
|
||||
namecache timing, errno handling, readdir, and cookies are unchanged.
|
||||
|
||||
## Static equivalence
|
||||
|
||||
- Search and disk lengths are still derived from the same pointer ranges.
|
||||
- `matched` is clamped to both ranges before comparison.
|
||||
- Comparison remains unsigned byte ordering, supports non-NUL search keys and
|
||||
embedded NUL bytes, and never assumes a trailing NUL at the disk boundary.
|
||||
- The adapter performs no allocation, copying, normalization, or error mapping.
|
||||
|
||||
## Comparator gate
|
||||
|
||||
Tests baseline: `ce03c283e6e2cb8f1b69c8eff21f7d06098a4fbe`.
|
||||
|
||||
- Python deterministic corpus: PASS, 11,562 cases.
|
||||
- Independent C harness: PASS, 1,048,576 cases.
|
||||
|
||||
These host comparator results prove the old and new comparison contracts are
|
||||
equivalent for the generated corpus. They are not dynamic filesystem feature
|
||||
test results. H03 still requires TC042, TC043, TC044, TC045, TC053, TC054,
|
||||
TC123, TC141, and TC148, followed by the final smoke test.
|
||||
Reference in New Issue
Block a user