# 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.
