Files
erofs-freebsd-out-tree/tests/TC089-lz4-pcluster-4k.md
T
2026-08-18 09:20:44 +02:00

70 lines
2.0 KiB
Markdown

# Test Case: LZ4 Compressed Physical Cluster Mapping (4KB)
**Test ID**: TC089-lz4-pcluster-4k
**G5 fixture contract**: Use [G5-MANUAL-SETUP.md](G5-MANUAL-SETUP.md).
Its generated paths, source comparisons, structured corruption offsets, and
cleanup rules supersede placeholder examples in this file.
**Category**: Compression
**Priority**: High
**Regression**: None
## Objective
Verify correct physical cluster (pcluster) mapping for LZ4 compression with 4KB pcluster size.
## Preconditions
- EROFS image with LZ4, 4KB pcluster: `test-lz4-pcluster-4k.erofs`
- Test file: `/files/test-4k.dat` (aligned to 4KB boundaries)
- Mount point: `/mnt/test`
## Test Steps
1. Mount the image:
```
mount -t erofs /dev/md0 /mnt/test
```
2. Read aligned to pcluster boundary (offset 0):
```
dd if=/mnt/test/files/test-4k.dat of=/tmp/out1 bs=4K count=1 skip=0
```
3. Read aligned to pcluster boundary (offset 4K):
```
dd if=/mnt/test/files/test-4k.dat of=/tmp/out2 bs=4K count=1 skip=1
```
4. Read unaligned (crosses pcluster boundary):
```
dd if=/mnt/test/files/test-4k.dat of=/tmp/out3 bs=2K count=2 skip=1
```
5. Read spanning multiple pclusters:
```
dd if=/mnt/test/files/test-4k.dat of=/tmp/out4 bs=16K count=1
```
## Expected Results
- Step 2: Single pcluster decompressed, correct data
- Step 3: Adjacent pcluster decompressed, correct data
- Step 4: Two pclusters decompressed for unaligned read
- Step 5: Four pclusters decompressed (16K / 4K = 4)
## Verification Method
- Verify pcluster boundaries handled correctly
- Confirm unaligned reads work (may decompress extra pclusters)
- Test each pcluster independently decompressible
- Verify correct data returned for all read patterns
## Cleanup
```
umount /mnt/test
mdconfig -d -u md0
rm /tmp/out1 /tmp/out2 /tmp/out3 /tmp/out4
```
## Notes
- 4KB pcluster provides good random access performance
- Each 4KB logical region compressed independently
- Small pcluster = less compression, better random access
- Related tests: TC090 (64KB pcluster)