# 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 ```sh ./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.