update
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Pre-12 Batch 09: compression header responsibility
|
||||
|
||||
Date: 2026-08-13
|
||||
|
||||
## Scope
|
||||
|
||||
- Removed the direct `internal.h` include from `decompressor.c` and the four
|
||||
`decompressor_*.c` backend consumers that already include `compress.h`.
|
||||
- Made no declaration, definition, function, storage-duration, or public API
|
||||
changes.
|
||||
|
||||
## Candidate source
|
||||
|
||||
Batch 04 created `compress.h` with a direct `internal.h` include and added
|
||||
`compress.h` to these five translation units while retaining their direct
|
||||
`internal.h` includes. Batch 06 then made LZMA, DEFLATE, and ZSTD backend
|
||||
functions private and exposed only their descriptor objects through
|
||||
`compress.h`. This left exactly five duplicate include edges attributable to
|
||||
Batches 04/06.
|
||||
|
||||
## Static proof
|
||||
|
||||
- `compress.h` remains the sole owner of `z_erofs_decompress_req`,
|
||||
`z_erofs_decompressor`, the LZ4 decompressor prototype, and the three
|
||||
backend descriptor declarations.
|
||||
- `internal.h` remains the sole public owner of `z_erofs_decompress` and
|
||||
`z_erofs_parse_cfgs`; it does not include `compress.h`.
|
||||
- The include graph remains acyclic: each affected translation unit includes
|
||||
`compress.h`, and `compress.h` includes `internal.h`, which includes only
|
||||
`erofs_fs.h` among project headers.
|
||||
- Each affected consumer therefore still sees the same complete request,
|
||||
descriptor, mount, map, and superblock types through one guarded include
|
||||
path. No backend prototype or descriptor declaration is duplicated between
|
||||
`internal.h` and `compress.h`.
|
||||
- The source diff removes exactly one `#include "internal.h"` line from each
|
||||
of five authorized files and changes no other token.
|
||||
- `git diff --check` and `git diff --cached --check` were required for this
|
||||
batch.
|
||||
|
||||
## Deferred validation
|
||||
|
||||
No build, QEMU, smoke, feature, or other dynamic validation was run under the
|
||||
execution constraint. The required FreeBSD KLD `WITH_ZSTDIO=0/1` matrix and
|
||||
final Plain/LZ4/LZMA validation remain deferred.
|
||||
Reference in New Issue
Block a user