update
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user