Files
erofs-freebsd-out-tree/tests/TC021-compact-inode-nlink1.md
T
2026-08-18 09:20:44 +02:00

842 B

Test Case: Compact Inode I_NLINK_1

Test ID: TC021-compact-inode-nlink1

Objective

Verify bit 4 on a non-directory compact inode forces st_nlink=1 while the i_nb union remains available for address high bits.

Fixture

Use images/compact-nlink1.erofs and source/compact/single.txt. fixture-evidence.txt asserts a 32-byte regular inode, bit 4 set, i_nb=0x1234, and valid recomputed CRC32C.

Procedure

stat -f 'ino=%i nlink=%l size=%z mode=%p' "$mnt/single.txt"
cmp /tmp/repo22-g1/source/compact/single.txt "$mnt/single.txt"
sha256 /tmp/repo22-g1/source/compact/single.txt "$mnt/single.txt"

Expected Results

  • st_nlink=1 despite on-disk i_nb=0x1234.
  • Inline file data remains source-exact; mount and cleanup succeed.
  • An i_nb value of zero is not used as a substitute for the bit-4 encoding.