2.1 KiB
2.1 KiB
Test Case: LZ4 ztailpacking Data Path
Test ID: TC091-ztailpacking-basic
G5 fixture contract: Use 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 operation of ztailpacking (compressed tail packing) for LZ4-compressed files.
Preconditions
- EROFS image with ztailpacking enabled:
test-ztailpacking.erofs - Test file:
/inline.dat(64KB deterministic compressible data) - Mount point:
/mnt/test - Generate with:
mkfs.erofs -zlz4 -C4096 -Eztailpacking test-ztailpacking.erofs source - Before mounting, require
dump.erofs -sto reportztailpackinganddump.erofs --path=/inline.dat -eto show the compressed physical extent inside the metadata block. Enabling the mkfs option alone does not prove that the target file was tail-packed.
Test Steps
-
Mount the image:
mount -t erofs /dev/md0 /mnt/test -
Read file with packed tail:
cat /mnt/test/inline.dat > /tmp/output.dat -
Verify file size correct:
stat -f %z /mnt/test/inline.dat -
Read file tail specifically:
tail -c 1024 /mnt/test/inline.dat > /tmp/tail.dat -
Verify data integrity:
sha256 /tmp/output.dat
Expected Results
- Step 2: File read successfully with tail decompressed
- Step 3: Size matches original uncompressed size
- Step 4: Tail data correct
- Step 5: Checksum matches reference
Verification Method
- Verify tail-packed data decompressed correctly
- Confirm storage efficiency (tail stored inline or in special area)
- Test tail packing transparent to reader
- Verify boundary between main data and packed tail handled correctly
Cleanup
umount /mnt/test
mdconfig -d -u md0
rm /tmp/output.dat /tmp/tail.dat
Notes
- ztailpacking stores compressed file tail inline with inode or in special area
- Reduces fragmentation and improves small file efficiency
- Related tests: TC092 (edge cases), TC033 (uncompressed tailpacking)