29 lines
842 B
Markdown
29 lines
842 B
Markdown
# 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
|
|
|
|
```sh
|
|
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.
|