1.6 KiB
1.6 KiB
Pre13 H03c: qstr VOP lookup adapter
Scope
- Changed the private
erofs_namei()interface to accept the bounded qstr carrier directly. - Moved search qstr construction to the
erofs_lookup()FreeBSD VOP adapter, using exactlycn_nameptrandcn_namelenafter the existing length checks. - Removed the temporary qstr construction from
erofs_namei().
No changes were made to componentname validation, mutation rejection, . or
.. handling, vnode lock mode, vn_vget_ino(), erofs_vget(), namecache
timing, errno mapping, readdir, directory cookies, or directory UIO handling.
Static evidence
- The qstr search range is
[cn_nameptr, cn_nameptr + cn_namelen)and does not require or inspect a trailing NUL. - The only
erofs_namei()caller remainserofs_lookup(). - A true
ENOENTremains the only result eligible for negativecache_enter();EINTEGRITYand all other errors still return directly. ISDOTDOTstill selectsvn_vget_ino()with the originalcn_lkflags; ordinary hits still selecterofs_vget()with the same lock flags.- The H03c diff does not modify any
cache_enter(), vnode lookup, lock, cookie, readdir, or UIO statement.
Comparator gate
Tests baseline: ce03c283e6e2cb8f1b69c8eff21f7d06098a4fbe.
- Python deterministic corpus: PASS, 11,562 cases.
- Independent C harness: PASS, 1,048,576 cases.
The comparator gates are host static-equivalence evidence, not dynamic feature tests. Dynamic H03 validation remains pending for TC042, TC043, TC044, TC045, TC053, TC054, TC123, TC141, and TC148, followed by the final smoke test.