66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# 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.
|
|
|
|
```text
|
|
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:
|
|
|
|
1. Remove stale Linux-only declaration fragments from `src/xattr.h` while
|
|
preserving every active FreeBSD interface.
|
|
2. Remove six specified, unreferenced private constants from
|
|
`src/erofs_defs.h`.
|
|
3. Rename the private checksum helper in `src/super.c` without 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.mk` conventions.
|
|
- FreeBSD build gates, including the current amd64 restriction and optional
|
|
`ZSTDIO` integration.
|
|
|
|
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.
|