988 B
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.