84 lines
3.3 KiB
Markdown
84 lines
3.3 KiB
Markdown
# repo-pre-3 Maintenance Baseline
|
|
|
|
## Snapshot Identity
|
|
|
|
`repo-pre-3` was created exclusively from the Git-tracked `repo-pre-2` tree.
|
|
Untracked files, ignored files, build outputs, and working-tree-only content
|
|
were not copied.
|
|
|
|
```text
|
|
snapshot source commit: 034f409841d2edaf7f140fc7475a357c924a5930
|
|
snapshot creation commit: 865a702341a82e61ab5ca1d5708a28005277cc0a
|
|
repo-pre-2 source tree: c28e015c74f4d012dfd070f887fabf75d4d4cb16
|
|
repo-pre-3 snapshot tree: c28e015c74f4d012dfd070f887fabf75d4d4cb16
|
|
tracked files per tree: 281
|
|
```
|
|
|
|
The matching tree IDs establish path, file-mode, and blob equivalence at
|
|
snapshot creation. `repo-pre-2`, `repo-pre-1`, and `src-linux` are read-only
|
|
references for pre3 work.
|
|
|
|
## Phase Scope
|
|
|
|
Pre3 is an L1 mechanical naming-alignment stage. It contains four independent
|
|
source tasks:
|
|
|
|
1. Rename `erofs_init_xattr_prefixes` and
|
|
`erofs_cleanup_xattr_prefixes` to the Linux-like lifecycle names
|
|
`erofs_xattr_prefixes_init` and `erofs_xattr_prefixes_cleanup`.
|
|
2. Rename the private ACL helper `erofs_getacl` to `erofs_get_acl`.
|
|
3. Rename `erofs_close_device` to `erofs_release_device_info` while retaining
|
|
its FreeBSD implementation.
|
|
4. Rename the private mount-state destructor `erofs_free_mount` to
|
|
`erofs_sb_free` while retaining its complete FreeBSD cleanup body.
|
|
|
|
Only function names and their closed sets of declarations, definitions, and
|
|
call sites may change. Signatures, behavior, control flow, ordering, locking,
|
|
ownership, error handling, and file responsibilities must remain unchanged.
|
|
|
|
## Required FreeBSD Differences
|
|
|
|
- Xattr-prefix helpers continue to use `struct erofs_mount *`, not Linux
|
|
`struct super_block *`.
|
|
- ACL handling continues to use FreeBSD `struct vnode *`, `struct acl *`, and
|
|
integer errno conventions.
|
|
- Device teardown continues to release GEOM consumers, vnode references, and
|
|
cdev references in the existing order and under the existing locking rules.
|
|
It must not adopt the Linux callback signature or ownership model.
|
|
- Mount-state teardown continues to release all FreeBSD GEOM and private
|
|
filesystem state. A Linux-like name does not make the implementations or
|
|
lifecycle contracts interchangeable.
|
|
|
|
## Excluded Work
|
|
|
|
Pre3 does not include feature changes, correctness fixes, ABI changes, codec
|
|
work, xattr or ACL behavior changes, function reordering, structure layout
|
|
changes, file splitting, build-system changes, formatting cleanup, or repairs
|
|
to earlier planning and snapshot material.
|
|
|
|
## Git Workflow
|
|
|
|
The snapshot, this baseline document, and each of the four rename batches are
|
|
separate commits. Every commit must be pushed immediately to `xdm main` and
|
|
must not be squashed with another batch. Before each commit, its staged paths
|
|
must be checked against the task-specific allowlist. After each push, local
|
|
`HEAD`, `xdm/main`, and remote `main` must identify the same commit.
|
|
|
|
## Validation Status
|
|
|
|
Only static snapshot-equivalence, path-allowlist, Git-state, and documentation
|
|
checks were performed for pre3 initialization.
|
|
|
|
```text
|
|
build: NOT RUN
|
|
QEMU: NOT RUN
|
|
test scripts: NOT RUN
|
|
smoke tests: NOT RUN
|
|
mount/runtime: NOT RUN
|
|
feature validation: NOT RUN
|
|
```
|
|
|
|
No compile-time or runtime PASS is claimed by this document. Existing reports
|
|
copied from `repo-pre-2` are historical material and are not fresh validation
|
|
of `repo-pre-3`.
|