Files
erofs-freebsd-out-tree/tests/TC141-cold-nested-namei.md
T
2026-08-18 09:20:44 +02:00

1.5 KiB

Test Case: Cold Nested Namei and Corruption

Test ID: TC141-cold-nested-namei Category: Directory Lookup Priority: Critical

Objective

Observe nested positive and missing lookup on fresh mounts, complete multi- block cookies, Linux-compatible padding, and stable EINTEGRITY for three structured directory corruptions.

Procedure

On a fresh metadata/namei-base.erofs mount, make the first pathname operation:

./g3_vfs_probe expect-success open-read \
  /tmp/repo22-g3/mnt/alpha/bravo/charlie/payload.txt

Compare the payload with the recorded source, require two direct missing lookups to return errno 2, and run:

./readdir_probe /tmp/repo22-g3/mnt/wide 128

Repeat the cold positive read and cookie probe on metadata/namei-padding-nonzero.erofs.

Finally mount each corruption independently and issue two direct stat calls:

Image Path Expected errno
namei-corrupt-short.erofs /alpha 97
namei-corrupt-nameoff.erofs /alpha 97
namei-corrupt-name.erofs /wide/entry-077-abcdefghijklmnopqrstuvwxyz.txt 97

Run readdir_probe on the affected directory and require its direct syscall failure to report integrity failure. Unmount and detach between every image.

Expected Results

Fresh positive lookup reads exact data; repeated missing lookup is ENOENT; both valid variants report all 322 restartable entries. Every corruption remains EINTEGRITY on both lookup attempts and readdir, without cache masking, panic, or hang. Record all five image hashes and cleanup.