38 lines
1.4 KiB
Markdown
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.
|