Files
erofs-freebsd-out-tree/tests/TC140-compressed-metabox-carrier.md
T
2026-08-13 10:44:59 +02:00

38 lines
1.4 KiB
Markdown

# Test Case: Compressed metabox carrier
**Test ID**: TC140-compressed-metabox-carrier
**Fixtures**: `metabox-compressed.erofs`, `metabox-fragment.erofs`, four `bad-*` fragment images
## Objective
Verify metadata/xattr reads from compressed and fragment-backed compressed
metabox carriers, then reject loop, range, and recursive carrier relations.
Require manifest carrier layout, NIDs, packed size, fragment offset/range,
relocated metadata block, transformed fields, and image/source hashes.
## Positive steps
Mount each positive image separately and run:
```sh
stat -f 'mode=%Sp size=%z inode=%i' /mnt/repo22-g4/metabox-a
sha256 -q /mnt/repo22-g4/metabox-a
lsextattr user /mnt/repo22-g4/metabox-a
getextattr -qq -x user metaboxshared /mnt/repo22-g4/metabox-a
getextattr -qq -x user repo22.application.component.setting \
/mnt/repo22-g4/metabox-a
getextattr -qq -x user shared-prefix-key /mnt/repo22-g4/metabox-a
```
## Negative steps
Attach and trace-mount `bad-fragment-self-loop.erofs`,
`bad-fragment-range.erofs`, `bad-metabox-recursive-nid.erofs`, and
`bad-packed-recursive-nid.erofs` separately. Record `nmount`, dmesg,
`vmstat -m | grep erofs`, responsiveness, and cleanup after each.
## Expected results
Both positives return source hash and exact values. All four negatives return
`EINTEGRITY` (97), with active EROFS allocations, mounts, and md units at zero.