2.7 KiB
repo-pre-2 Maintenance Baseline
Snapshot Identity
repo-pre-2 was created from the tracked repo-pre-1 tree without copying
working-tree-only files or build artifacts.
planning baseline commit: ed47f1b5583a229e372f488b9492d1f6234aae98
snapshot creation parent: 109fe74d3fcef107db5869be1d030f4f12d1cfa6
snapshot creation commit: 73fa57924b549387400eeeb85354bbbbe770a962
repo-pre-1 source tree: 6a5a1a49d4a4e08f6ef1155de240500e63a15365
repo-pre-2 snapshot tree: 6a5a1a49d4a4e08f6ef1155de240500e63a15365
Linux comparison tree: b79b9a8b62f633e887a8b99075ff9412fabd7f83
The matching source and snapshot tree IDs establish byte-for-byte content,
file-mode, and path equivalence at snapshot creation. repo-pre-1 and
src-linux are read-only references for pre2 work.
Phase Scope
Pre2 phase 1 is L0 mechanical maintenance alignment. It permits only the separately reviewed changes listed below:
- Remove stale Linux-only declaration fragments from
src/xattr.hwhile preserving every active FreeBSD interface. - Remove six specified, unreferenced private constants from
src/erofs_defs.h. - Rename the private checksum helper in
src/super.cwithout changing its signature, body, call position, or behavior.
Each source change must remain an independent commit. This phase does not add features, fix behavior, move responsibilities between files, reorder data structures, alter ABI, or broadly reformat code.
Required FreeBSD Differences
Linux and FreeBSD EROFS remain independent implementations. The following platform boundaries are intentional and must not be replaced merely to make the source look more similar:
- FreeBSD VFS, vnode, mount, namecache, pager, and NFS export interfaces.
- FreeBSD buffer/cache, GEOM provider, device I/O, locking, and allocation APIs.
- FreeBSD xattr, ACL, errno, kernel-module, and
bsd.kmod.mkconventions. - FreeBSD build gates, including the current amd64 restriction and optional
ZSTDIOintegration.
Linux naming and layout should be followed only when doing so preserves these native contracts and makes cross-repository review easier.
Excluded Work
This phase does not address vnode ownership after insmntque() failure,
large-run allocation and uiomove() limits, compact pblk validation, 48-bit
boundaries, decompressor descriptors, backend ABI, typed errno, xattr parsing,
ACL behavior, file splitting, build-system alignment, CI, or test tooling.
Validation Status
Only static snapshot and Git allowlist checks were performed for the
initialization commits. No build, QEMU run, test script, smoke test, mount, or
runtime feature check was performed. All runtime capabilities therefore remain
NOT RUN for repo-pre-2 until a later, explicitly authorized validation phase.