Files
erofs-freebsd-out-tree/tests/TC140-compressed-metabox-carrier.md
T
2026-08-18 09:20:44 +02:00

1.4 KiB

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:

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.