Files
erofs-freebsd-out-tree/docs/pre12-batch-04.md
T
2026-08-18 09:20:44 +02:00

1.6 KiB

Pre12 Batch 04: Private compression header

Change

  • Added src/compress.h for the decompressor request, descriptor, and backend private declarations previously located in src/internal.h.
  • Added the header only to decompressor.c and the LZ4, LZMA, Deflate, and ZSTD backend translation units.
  • Kept the runtime compression enum, z_erofs_parse_cfgs, and the public z_erofs_decompress declaration in src/internal.h.
  • Preserved every migrated declaration signature and storage duration. No function body, callback, conditional compilation block, errno path, or buffer ownership changed.

Static validation

  • The compress.h consumer set is exactly the five planned decompressor translation units; super.c, zdata.c, and all other public callers still include only internal.h.
  • The include graph is acyclic: compress.h includes internal.h, while internal.h does not include compress.h.
  • Exact searches found one definition of each migrated structure and one declaration of each migrated backend function. The old declarations are absent from internal.h.
  • The new header contains no Linux page, folio, bio, workqueue, XArray, shrinker, compatibility, or related runtime declarations.
  • Source diff inspection and declaration normalization confirmed that this is a declaration-only move plus the five include additions.
  • git diff --check and git diff --cached --check completed without errors.

Tests not run

Per the execution constraints, no build, QEMU run, smoke test, feature test, or other dynamic test was run. The planned WITH_ZSTDIO=0 and WITH_ZSTDIO=1 KLD builds remain required during final validation.