update
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# Pre12 Batch 01
|
||||
|
||||
This batch aligns the planned in-memory NID, block-number, and byte-offset
|
||||
declarations with the existing `erofs_nid_t`, `erofs_blk_t`, and
|
||||
`erofs_off_t` aliases.
|
||||
|
||||
The source whitelist was limited to eight fields in `internal.h`, the
|
||||
`erofs_iloc`, `erofs_nid_is_valid`, `erofs_read_inode`, and `erofs_vfs_hash`
|
||||
declarations and definitions, and the byte-offset parameters of
|
||||
`erofs_bread`, `erofs_read_physical`, and `erofs_read_metadata`.
|
||||
|
||||
All three aliases are direct `uint64_t` typedefs. Static assertions confirmed
|
||||
that each is an unsigned, 8-byte type with the same alignment and exact C type
|
||||
compatibility as `uint64_t`. Consequently every replaced field has identical
|
||||
size and alignment, so both structure sizes, alignments, field order, and all
|
||||
target `offsetof` values are unchanged. Function parameter and return ABI
|
||||
representations are also unchanged, and the vnode hash still consumes the
|
||||
same complete 8-byte NID object.
|
||||
|
||||
The source diff is limited to the planned fields, function declarations and
|
||||
definitions, and necessary local declaration splits. No expressions, field
|
||||
order, on-disk types, control flow, error handling, or formatting outside
|
||||
those declarations changed.
|
||||
|
||||
Validation used exact declaration inventory checks, token-diff inspection,
|
||||
declaration/definition signature comparison, arithmetic and hash review,
|
||||
compile-time type assertions, and `git diff --check`. No planned point was
|
||||
skipped and no out-of-scope candidate was changed. No build, QEMU, smoke,
|
||||
feature, or other dynamic test was run.
|
||||
Reference in New Issue
Block a user