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

988 B

Test Case: Compact Special Inodes and Linux dev_t Decode

Test ID: TC022-compact-inode-special

Objective

Verify compact char/block/FIFO inodes and Linux new_decode_dev conversion to FreeBSD dev_t.

Fixture

Use images/compact.erofs. Source metadata records real nodes char-large=2748:344865, block-large=2748:344865, and fifo; structured evidence asserts compact inodes and raw on-disk i_u.rdev=0x543abc21 for both devices. Compile tests/stat_special.c natively in FreeBSD.

Procedure

./stat_special char  "$mnt/char-large"  2748 344865
./stat_special block "$mnt/block-large" 2748 344865
./stat_special fifo  "$mnt/fifo"
stat -f '%N mode=%p rdev=%r' "$mnt/char-large" "$mnt/block-large" "$mnt/fifo"

Expected Results

  • Char and block helpers report major 2748, minor 344865, and raw FreeBSD st_rdev=0xa430005bc21.
  • FIFO type is correct and st_rdev=NODEV.
  • A raw little-endian cast would differ; all helper checks and cleanup pass.