# Test Case: FLAT_INLINE Metadata-Block Bounds **Test ID**: TC147-flat-inline-block-bounds ## Objective Verify a valid inline payload reads exactly and a checksum-valid inline range crossing its inode metadata block fails repeatedly with `EINTEGRITY`. ## Fixture Use `images/inline.erofs`, `images/inline-cross-block.erofs`, and `source/inline/inline.txt`. Evidence records the NID/inode offset, patched `i_xattr_icount`, inline start at block offset 4068, 31-byte size, valid CRC, and both image/source hashes. ## Procedure Mount `inline.erofs` on a fresh md unit: ```sh stat -f 'size=%z blocks=%b' "$mnt/inline.txt" cmp /tmp/repo22-g1/source/inline/inline.txt "$mnt/inline.txt" sha256 /tmp/repo22-g1/source/inline/inline.txt "$mnt/inline.txt" ``` Clean it up, then mount `inline-cross-block.erofs` without listing the root: ```sh ./read_probe expect-error "$mnt/inline.txt" 97 ./read_probe expect-error "$mnt/inline.txt" 97 set +e truss -o /tmp/tc147.truss stat "$mnt/inline.txt" rc=$? set -e printf 'stat_rc=%d\n' "$rc" tail -20 /tmp/tc147.truss ``` Record dmesg delta and clean the second mount/provider. ## Expected Results - Positive data matches source and reports 8 sectors. - Every corrupt lookup/open returns errno 97, never `ENOENT` or stale-vnode errors; no next-block read, panic, dmesg error, or cleanup residue occurs.